What Bill said sounds familiar; I've had similar problems. A couple of comments:
Are you using event triggers? I've found them to have some problems, at least with "use doctrine language" option. I recently had to replace event triggers with goal triggers in order to make some missions work.
It also seems that subs don't always follow scripts. In a mission I'm currently working with I finally ended up using 3 scripts simultaneously forcing a sub to surface, one repeating itself every minute. The sub, however, still dives all the time.
I guess there is some hard-coding that makes the subs avoid "hostiles".'
Miika