My first thought was that this could be done (with less work) using a smartphone's accelerometer. That said, I definitely dig the setup. Thanks for the mention of Phidgets.
How do you handle the accelerometer differently for the different exercises (swim, push-up, curl-up, pull-up, run)? And how are you able to support swimming?