Completely forgot to ever update this thread although it did a lot of debugging to finally figure out the problem.
To recap we were getting inconsistencies with AirPlay, although for the most part it wasn't working. In the end, we had two issues.
* The few times that AirPlay was working was due to the iOS devices and Apple TV were connecting via bluetooth. Big duh moment here.
* The second problem was in how devices were being registerd to CPPM. Our original implementation goes back when Amigopod and CPPM were separate prodcuts. At the time, we implemneted a captive portal that would register endpoints as known devices after the user would authenticate. Other devices like consoles and eventually Apple TV would get registered in Amigopod offline by the end user. The main issue ended up being that the devices registered directly in CPPM would be stored with the mac address as the username. The consoles and Apple TV in Amigopod (or Guest module now) would get registered under the authenticated username. No match, no AirPlay. Support helped us in modifying the corresponding profile so the authenticated username would be the one being stored instead of the mac address.
Regarding the FireStick, I remember it working without problems, though very limited test was ever done. We are still in the process of testing location based AirPlay, so will try this again.