Unfortunately, I am not too adept with the networking side of things, and what's going on under-the-hood with proxies, VPN, etc. I've been quite happy that python-twisted and urllib2 do a good job handling all that transparently, but it means I need some time to familiarize myself with how non-standard setups work in order to make it more flexible.
However, if I'm not mistaken, the real problem is Armory going into offline mode when it actually shouldn't. You need a way to force it to think it's online, even though it can't access google.com to verify (it's got the bitcoind/-qt connection, so it doesn't matter). For that reason, I will add to the next version a --force-online flag that allows you to over-ride that behavior.
For now, ArmoryQt.py:890 is the line where it determines whether you should be in online mode based on the previous method. You can comment that out and replace it with "self.isOnline = True" and try rerunning it. Please try that and tell me whether it works and/or causes any strange behavior!
Thanks, --force-online would be fantastic!
I ended up changing line 890 (I think, I added some proxy stuff to where it tries to get the HTTP_VERSION_FILE, which didn't seem to help that much; point being the below is 894 on mine. It's around there in any case) to be
self.isOnline = ((self.internetAvail or True) and self.satoshiAvail and not CLI_OPTIONS.offline)
That worked. Curiously, when I started it at some point I checked the log file and it was saying it could indeed connect to both bitcoin-qt and the interwebs. So I'm not sure what was going on there (I was fiddling with Ubuntu's system proxy settings, so that might have helped too.)
I didn't update at the time due to the market, but it was a quick and simple fix.
The other reason why --force-online would be nice is if you use connect= or addnode= in bitcoin.conf to access a node on your LAN with internet access port forwarding if the client doesn't have direct access itself. (so Internet <-> gateway node <-> client node + armory). In those cases I imagine you could send/receive transactions fine, but you wouldn't have internet access yourself.
In any case, it's all good now.
I'm also running it in a VM because OS X isn't supported. I'm using Mountain Lion atm and will keep trying to compile Armory in my spare time (Lion instructions don't seem to be working too well

). If I can figure anything out on that front I'll be sure to post it (oh, how nice a .app would be! To the computer box!)