I am a little bit confused when you write that the form is launched by the Startup_Task. One can actually do this but normally a remote form is instantiated by either using the html file that points to it or using i.e. $ctask.$changeform or $openform. That said they are using a remote task (not the Startup_Task) as a container for its own instance.
However you could try to find out why the crash happens using the command
Do sys(3000) somewhere in the code. This brings up a message that the code is then traced in a log file. When Omnis crashes you can have a look in that log file and possibly see what command caused the problem.