That sentence is proper English, but has a different meaning. To do something means you do it yourself. So "would have done it for me?" is asking if he would actually do the thing. To have something done means someone else is doing it because you want them to.
"I painted it" means I am the one who did the painting. "I had it painted" means someone else did it because I wanted them to. (I probably paid them to do it.)