Although this may be a bit out of date considering the Microsoft Speech SDK is out and has been for a while, the method used in this CodeProject article is a great starting point. We are using it to allow people to update a speech recognition grammar using a website. It is actually pretty easy to do this and makes a lot of sense compared to file based grammars if you are just dealing with simple phrases.
The great thing about SAPI is that it’s so easy to implement in any .net project (when you know how of course). We are currently using a database to store our phrases and then updating the grammar on any change to the database using regular polling. This isn’t ideal but is pretty quick & we need to regularly touch the database for other reasons.