Do you use a microphone or process a WAV file? I'm not sure how sound plumbing will work in a service if you are trying to use the default sound device. If you are trying to convert from audio files or stream, make sure that you are using InProc recognizer.
If you are building a server application, you should probably consider using the Microsoft.Speech API and server recuperators. See What is the difference between System.Speech.Recognition and Microsoft.Speech.Recognition? and Microsoft Speech Platform SDKs - http://www.microsoft.com/en-us/download/details.aspx?id=27226
If you are trying to perform continuous recognition without your application in the foreground, I believe that a common recognizer can support your needs. Microsoft Desktop Recognition, which comes in Windows 7 and Vista, can work in two modes: inproc or shared. Common recognizers are useful on the desktop, where voice commands are used to control any open applications. In System.Speech, you can use SpeechRecognizer to access the public desktop recognizer or SpeechRecognitionEngine so that you have a dedicated inproc recognizer for your application. You may be able to use a common recognizer to continuously recognize your application, even if your application is not in the foreground.
There is a very good article published a few years ago at http://msdn.microsoft.com/en-us/magazine/cc163663.aspx . This is probably the best introductory article I've found so far. It says:
... a recognition engine can be created in another process called SAPISVR.EXE. This provides a common recognition engine that can be used simultaneously by multiple applications. This design has a number of advantages. First, recognizers typically require significantly more resources than synthesizers, and sharing a recognizer is an effective way to reduce overhead. Secondly, the common recognizer is also used by the built-in speech features of Windows Vista. Therefore, applications using a common recognizer can benefit from the system microphone and feedback interface. There is no additional code for writing, and there is no new user interface for the user. New to SAPI 5.3
source share