We do have the desired delay mechanism implemented in dalvik/vm/compiler/Compiler.c
            dvmLockMutex(&gDvmJit.compilerLock);
            /*
             * TUNING: experiment with the delay & perhaps make it
             * target-specific
             */
            dvmRelativeCondWait(&gDvmJit.compilerQueueActivity,
                                 &gDvmJit.compilerLock, 3000, 0);
            dvmUnlockMutex(&gDvmJit.compilerLock);
            :
Currently the delay is set to be 3 seconds. As the comment and your experiment suggested a target specific value is probably needed here to improve the app startup time.
If you look at ./base/core/java/android/app/ActivityThread.java, you will see a bunch of ensureJitEnabled() calls to enable the JIT if the app is believed to be in the post-startup phase. If specifying a larger startup delay doesn't help the app in question, you probably want to check these ensureJitEnabled() calls to see if any of them jumps the gun.
-Ben