We've successfully been using XML as a data transport mechanism with our .Net web application. However, things are a bit cleaner in that we can pass native XML (datatype XML) back and forth without having to convert to NVARCHAR.
One comment: Your use of OPENXML in a web application is putting a lot of pressure on your system.
See: Stop Using OPENXML