AUGH! I figured out what the problem is.

Karajorma's going to love this.
Simple fix for the bug: Drop the attached campaign file in the missions folder and play it via the campaign room instead of the tech room. (I'll upload a revised VP to the website shortly.)
Simple explanation of the bug: The game was running out of sexp nodes.
More complicated explanation: As with most ugly bugs, the symptom looked rather different than the root cause. And the worst thing is that it happened to some people but not others. The reason is that sexp nodes are shared between campaigns and missions. If you have a complicated campaign in memory, it may not leave enough sexp nodes for the mission. Playing the mission via a campaign ensures that the mission starts with a known number of free sexp nodes.
If I didn't have the source code on hand, I would have never figured this out.
