We don't talk about jailbreaking here, so we'll only be able to answer about half of your questions.

Testing on a real device is pretty crucial. The performance and memory environment are vastly different from the iPhone simulator. There's a chance you'll be lucky and what you're running on the simulator will just work on a device, but it's not a reasonable risk to take if you're publishing your app.

I'm not sure about the state of VM/cross-compilation tools, but if you can compile, codesign, and deploy your app to a device from Windows, I don't see any reason you'd need a Mac. Last I knew, though, those things weren't all possible without one.