Hi Ashutosh,
If you are not using the PB runtime packager you could try using that instead of manually deploying the runtime files. A missing PB dll usually results in a crash. Sometimes a difference in behavior is seen if the exe was compiled with a different version than the deployment dlls. Make sure that the version you are compiling the application in is the same as all the deployment dlls.
A good way to find out differences in what different machines are loading is to download and run a small utility from Microsoft called ListDLLs that can be downloaded here.
Open a command window in the directory with listdlls.exe and run the application exe from your machine and the deployment machine. Type in the following and run the application.
C:\listdlls>listdlls.exe yourapplication.exe > yourapplication_run1t.txt
You can name the txt file anything you want. It will contain a list of all dlls loaded for your application process. Compare the txt file from the two machines and see if there are any differences. You may also want to run listdlls with the -v option so you can make sure all dlls are the same version.
Pat