I agree that some solution based on version control is definitely your best shot.
At minimum, you should be able to ask things like, "what's different about the code on this server from what it's supposed to be", "when's the last time this file changed and how".
That ability shouldn't stop at dev or qa, it should extend all the way out to production.
Plus you don't want to reinvent or reimplement the wheel of getting the changes that are here up to there.