It makes sense really. When you launch the PGM1, it gets control and the batch file is suspended. When you exit PGM1, control is returned to the batch file which then launches PGM2.
To accomplish what you want, use the START command to launch both PGM1 and PGM2. If you want the close the command window, put an EXIT statement at the end of your batch file.
Example:
@echo off
start PGM1
start PGM2
exit
Hope this helps.