I am not the most knowledgeable on this subject but, you seem to be taking the distance out of the encoder, since a drivetrain is set up for continuous motion shouldn't your PID be targeting a specific rate at which the wheels should be spinning? (assuming this is for dynamic input, such as driving in teleop, not autonomous movement) There is a rate output on the encoder, so do you want your code to look a little more like this?
Code:
http://i.imgur.com/5Jja5Ce.png
What I have written here may just be a load of garbage. It has not been tested, it just seems logical to me. I tried to comment my thought process.