Unfortunately I have a number of issues with Airfoil.
1. You can't have it start as a service or hidden in the background. It has to pop up when you launch the program.
2. When you use it to send audio to a device, or devices, it continually sends silence to them. This holds onto the device and prevents anything else from connecting. So I have to manually enable Airfoil on the PC when I want to use it, and remember to disable it when I'm finished, or else no-one else can send audio to the speakers.
3. When you enable the "System Audio" feature (the only way to get it working as a zone in MC) it automatically switches your active sound device and sends all system audio to through the AirPlay receivers.
It does this every time you enable/disable the connection so it's a huge annoyance when combined with #2.
4. It ignores the system volume level. While Media Center has internal volume control, and volume protection options, Airfoil does not. Audio gets sent through it at 100%.
When combined with #3 it could potentially fry your speakers if you are using a power amp.
More than a few times now, I have accidentally blasted audio through multiple speakers in the house since it's switched device without me realizing, ignores the system audio, and captured audio from a web ad or YouTube video.
5. There's no way to send different audio to separate devices. There's only the single Airfoil device to send audio to, and then it routes audio to the receivers you enable. So while it does sync, it doesn't do independent audio.
6. It has caching or buffering issues I've yet to be able to solve without restarting the PC.
Sometimes for no apparent reason, audio stutters (even with both the PC and AirPort connected via Ethernet) or has a weird echo effect.
Stopping/restarting playback usually cures the stuttering, but it doesn't seem to help with this echo. Nor does logging out and back in - I have to restart the PC.
7. The AirFoil Speakers application is incredibly unstable for me if I try to send audio to the PC, and out to the AirPlay receivers. It crashes at least 3/4 of the time I try to use it.
It is extremely good at sync though, and a good solution if you don't have a need to send audio to the AirPlay devices from anything else. (just leave it connected all the time)
I'd much rather have seen the JRiver team focus on AirPlay integration than the id project.
I have these <$99 receivers in place (much less if you look at eBay prices for the older devices) which have analog + optical out, are capable of perfect sync, and can be played to directly from a mobile device.
Why would I replace them with a $400 device which can't do sync or play from my mobile devices? A single id costs more than all the receivers I have, combined.