I suspect an ActiveX control or component of some type is the best answer - see:
http://www.softplatz.com/kw/opening-word-document/ or do a Web search for something like "open Word document". You could create the file as XML using the Word doc schema (I think MS provide this in the SDK), but it would be hard work and error-prone I suspect. But it would probably be the "purest" way for small documents. You could build the doc using the XmlDocument object, access the fileds you need to change using XPath queries or by populating them as you create the document, then save it out to a String to send to the client or write to disk.