Hi David,
Thank you very much !
I also had a brief look at directly controlling the ArDrone from Mathematica (without ROS) at a low level.
I think that one possible way to achieve this would be to send 'low level' commands (UDP packets) to the drone (UDP port) 'from' Mathematica.
Alternatively, if this doesn't work, one could create a program sending the UDP packets in another language which then communicates with Mathematica (like I did with the C++ code above).
If you want examples of some UDP packets, a list of some possible messages that can be sent to the ArDrone 2.0 is available in the 'Parrot ArDrone Developer's guide' (can be downloaded from their website).
I hope this helps, and please keep me updated with any results you get !
Best regards,
Loris