I guess you are talking about functional testing. I got kind of the same problems. First make sure that you have consistent environment (OS, Openscript Version, IE version or Firefox version). Try some simple script to run from OTM (simple login or something). If that works you should check think time. I had a problem when I run the script from OTM I had to manually change script. Think time didn't work so I use delay function.
Try Proven's solution. You can also use Thread.sleep() instead of think or delay.
Run Agent from cmd. and check whether any exceptions listed in agent log.
Also mention -delayPercentage 1 -formsft.capture_screenshot true in command line settings of scripts in OTM