I would try to install MinGW and MSYS on a totally separate folder, and be sure to not have stuff from old installation in system path (by renaming the old directories and taking a look on how the Windows path looks like).
My guess is that there's an exit command in some of the bash initialization scripts, such as /etc/profile or ~/.profile, which isn't getting overwritten or ignored in your new installations. Try to inspect those files from rxvt, and make sure mount isn't referencing old stuff (I think sometimes you need to reboot/logout to some mount changes to take effect).
Thanks for the reply, and the suggestions.
I tried installing MinGW into a separate directory on a completely different drive, and in a DOS shell I set my path to simply MinGW\msys\1.0\bin and still got the same results.. bash and sh both have "exit" on the prompt line, and then exit.
I also tried installing msyscore-1.0.11-bin into a separate directory and setting the path to simply msys\bin, and both sh and bash did the same, and running as per the msys.bat, like:
msys\bin\sh --login -i
I get "logout" on the prompt line and it exits. (if I actually run the msys.bat file the window appears and goes away too fast to read)
The only profile I could find, as you mentioned was the /etc/profile and didn't see anything obviously logging out or exiting, and both /msys/etc/profile (from msyscore-1.0.11-bin) and /MinGW/msys/1.0/etc/profile are identical.
In rxvt, I checked /home/andrew and the only file in there is .inputrc
However, from within rxvt I can run sh or bash and they load without exiting, and running "sh --login -i" works fine too.