immediate="t"
If you're on Windows and the users do not have logon-locally privileges, it is possible that the servlet process is owned by something like SYSTEM rather than the actual user - and thus the instantiated workflow may not believe that the user who started the job is the same as the user who owns the CGITask / start-task - in which case - it will not bring it up immediately regardless of what you try.