in reply to System Function...script does not move until process ends.

As others have pointed out, the problem is in your use of system().

I believe, though I don't have time to confirm, that you could do the following:

system("cmd /c start dbeng9", @engstartargs); # SHOULDN'T HANG NOW
Though, of course, this is a win32-specific solution. The fork() solutions suggested by others would be more cross-platform (though with the hard-coded path names does it really matter?)

BTW: the sqlanywhere newsgroups are always available ;-)