Great - now the situation makes sense. Here's the problem: The game checks to see if the minimum resolution is available (800x600). If it's not, it assumes that there's something very wrong and refuses to start up (as you've seen). For some reason, your system was indicating that this lower resolution was not available.
This will not happen in general on external monitors - I use a MacBook Pro with an external monitor pretty well exclusively without this issue. The problem comes when for some reason the laptop isn't talking to the monitor correctly, and isn't getting the monitor's EDID information. This is information that the monitor sends to the computer to tell it what resolutions are available. In some very rare instances, it's possible for the monitor to send *only* the highest resolution to the computer. You can see what resolutions are available on your external monitor by going to the Displays panel in System Preferences.
Unfortunately, I'm not entirely sure what can cause this EDID problem. The reason I suggested that you detach the external monitor is that I encountered this issue just last night on my Mac Pro, when doing some testing with a new Radeon 3870. When I first hooked up the card, only the highest resolution was available and I had a similar problem with another game. Since I had installed the hardware first before the software, I then went to install the drivers, which suggested that I do a firmware update too. After doing both, all the available resolutions showed through.
In the past, I've seen similar EDID issues caused by different kinds of switchboxes.
One thing that might help to avoid these kinds of problems is to use a digital connection to an external monitor, rather than going through a VGA adapter.
-Gav
--
Gavriel State
Founder & CTO
TransGaming Inc.