How can I kill the Apache service on a Windows server?

I'd be suspicious about a service that doesn't properly respond to shutdown/restart requests - you may want to look at re-installing Apache. That said, I'm not an Apache guy, so i'm not sure how common this under Windows7.

All that aside, you should be able to manually kill the httpd.exe process either via Task Manager, or via a command line as such:

TASKKILL /F /IM httpd.exe /T

The command switches specify that you want to kill any process with the image name 'httpd.exe' (/IM httpd.exe), you want to force the kill (/F) and you want to kill any child processes that it spawned (/T).

After doing this, you should be able to manually start the process again via the Services console, or via the 'net start' command.