I've been in contact with IComSat regarding this issue. I still don't have a 100% definite answer but it is most likely related to the netduino's 3.3V GPIO.
If I power the netduino independently without a debugger attached (hence reproducing the problem described), and I then MANUALLY feed a 5V feed to PIN 9 on the shield, the SIM900 powers up without issue. So basically, setting PIN 9 on the netduino to HIGH doesn't work, while jumpering a 5V feed to PIN 9 works.
What baffles me is why the thing works totally without issue (and without fail!) with the Visual Studio debugger attached. Does the Netduino somehow use 5V GPIO when a debugger is attached?
I understand the IComSat shield was designed for the Arduino (hence 5V GPIO), so I'm not too worried as I was aware of the "risk" before buying, though I'd really love to know the definite reason why this happens. At least I have a workaround to get the thing powered up via software