I'm no longer entirely certain. I remember encountering problems 3+ years ago and decided to stick to DOM instead of the then non-standard innerHTML (it's in the draft for HTML5).
But as I recall, there were issues with inserting innerHTML without having the new contents modify the DOM tree, thus forcing you to decide on either one or the other (or keeping track of where DOM was to be used and where innerHTML was used), form data not updating other than visually, events not being added like they were on regular page load (onclick="someFunc()").
And since I havn't used innerHTML for a long time, it's entirely possible that the problems I encountered no longer exists, or that they are limited to IE6 should you still need to support it. It may even have been addressed in IE6 updates for all I know though.
It's also possible that some of my code failed due invalid markup and I failed to realize that back then.
Anyway, I'm glad you asked. It could be that my knowledge or preconceptions are outdated and that I should give innerHTML another try. If it works for you, then by all means use it.