Can you post your code? There might be something that you guys just overlooked (though the E-Stop issue stumps me).
In lieu of that, I would check the following, though some of this may be irrelevant:
-How are you passing data from Periodic Tasks to Teleop? Is there a chance that one of these Globals is being written in 2 spots at the same time?
-With the code that you deployed, did you make the controls you changed "set as default"?
-How did you change your motor input based on the Arm limits? We implemented it by reading limit switches (though it sounds like you are using the actual sensor itself) and changing the maximum bounds of the PID.vi We never tested this, and I believe that it should work but if you are doing it the same way I would look at that too.
-I referenced this before (
http://www.chiefdelphi.com/forums/sh...78&postcount=6) but is it possible that your encoder wasn't working correctly and was not reading values consistently?
-With the E-Stop issue, did it actually say on the DS "Emergency Stop" (or whatever the text is? Did you guys ever disable the E-Stop button?