I have developed a C++ cross-platform engine (Windows, Mac, iPhone, Haiku), and can do development under any platform. The final compilation needs to be done on the iPhone, as well as all performance tuning, testing, etc. My biggest problem is that I dont have accelerometer support on other platforms, so I just fudge it with numpad keys which send same input to game code.

99% of our development is with Visual Studio. Only one developer (me) actually has an iPhone.

Obviously, the platform specific code grabs iPhone touches and forwards them to MouseDown/MouseMoved. I've also added code for the Windows XP host to allow simulating of MultiTouchMoved and Accelerometer. All objects which accept input (a game view or a GUI element) inherit from YInputHandler. Multiple inheritance is good.

Oh, my goodness... That's the first time I've actually bothered to check out the lmgtfy.com link, and that is freakin' hilarious. I knew the gist of the site, but the implementation is sheerly wonderful.