When a controller has a method or a variable that is referenced in the VF page, and you remove or rename that element in both - page and controller, then when you click save, you get an error saying that the removed/renamed element is still referenced on the VF page, even though you are saving them both at the same time. Basically, SF checks the NEW version of the controller against the OLD version of the page.
When you work on these in the UI (development mode), then it's no big deal - you first delete the references in the page, save, then delete references in the controller. Or you could keep an empty method in the controller to satisfy this bug, create a new method with a different name, then delete the old empty method.
Now we are seeing this error during deploys (using jenkins/ant). The deploy process takes a while, as do the fixes to it, so this bug is a lot more annoying now.
Question - have you seen this issue, and how do you deal with it? Would you need to resort to changing your coding practices to keep all of the original methods and variables in the controller when you refactor, do the deploy, and then delete them from the controller before the next deploy? That seems a bit unclean.