I can't claim to be an expert in interop, so I may have missed something here, but have you tried using the Message.GetLParam method?

In your case it would be m.GetLParam(typeof(string))

Hope that helps...