I will take a look at this some more later on... but one thing that I noticed at first when executing your Manipulate code in a separate notebook (both on version 9 and 10) is that the cell bracket is always hi-lighted, indicating that the Kernel is constantly updating your Manipulate even though it is not being interacted with. This is fixed, I believe in this particular case, by adding a TrackedSymbols option for the variables that you are changing:
TrackedSymbols -> {\[Theta], a, b, c, vs}
See if this makes a difference to your example and let me know.
By the way, I really like the design of your visualization....