Could be your upgrade is just too fast. In my experience with services, they often report to have stopped but actually you need to wait a little longer before you can change anything about the service.
For example, in a command script this will fail because execution is too fast:
sc stop MyService
... do something with the service
sc start MyService
It isn't very clear how you do your upgrade but this could easily be the problem. Otherwise, please provide more info.
Good luck!