Apple permits 3rd party tools, there are plenty of them that publish officially. The issue with all of them (and B4iOS would be constrained by this too) is that you must compile on a Mac, even if you don't develop on one. Some tools like Xamarin try to get around this issue by providing a small server application for OS X that you can install to a remote machine. From there, your Windows IDE would ship the source to the OS X machine, it would compile it, and then ship it back. Sadly, this still requires an OS X machine.
If Erel would be okay with it, I (and I'm sure many other people here) would happily host a network of these kinds of OS X machines, and they could check into a master server that would distribute load.
Still probably not the best thing to do, but it's one solution.
Another major caveat is that you need to test your app, and the only way you can do that is to either run it in an emulator or a physical device (via USB cable, a la ADB, or network/WiFi, a la B4A-Bridge). Emulators only run on OS X, and the iPhone can only be tested on via a connection to a Mac. So, the emulators would need to run on an accessible remote machine running OS X (which would also serve as the build machine in this situation), or you would need to own a physical iOS device connected to a local Mac.
In the end, you will need an OS X machine locally to do this. Windows would only serve as a more friendly UI for writing direct code.
Oh, yeah, and you can only design iOS interfaces using the Interface Builder on OS X. So to do that on Windows, you'd need a new interface a la B4A's Interface designer, which would then push a correctly-written interface to OS X.
At this point, it's probably better to just use OS X and Xamarin Studio.
Note: It MIGHT be possible to have those donated server machines also host emulators and use a form of screen capture to share the emulator with a client, but it wouldn't be very responsive (though mine personally would be because my machine would have a 100mbit upload). It's very unlikely but still might be possible to trick the remote build machine into connecting to a fake USB device, and instead have that USB connection go over the internet to the client, where the real iPhone (or other iDevice) would be connected. However, this would require a separate set of drivers on each device, and they would most likely need to be written from scratch.
I might draw up some diagrams of this later.