RE: any way to set form header field values with xrm?
The workaround you're looking for is the following bit of javascript:
...if the header field you want to set is called "XXX"...
document.getElementById("header_XXX_d").firstChild.innerHTML = 'blah blah blah';
...IE development tools (F12) are your friend!
The key thing here is that this is UNSUPPORTED - the question is; is that a bad thing?
Because CRM is simply a .Net web application, like any other .Net web application (though a rather large and fancy one), almost anything is *possible*, it's just not *supported*.
That means that when it's time to upgrade, you may have to figure out a new workaround. In my experience, this is a balancing act of effort now vs effort later, but I've found that doing a quick elegant workaround now and then figuring out how to do it again in 4 years when a new release comes out often takes less time than jumping through hoops to create a less-than-optimal UI experience in some "supported" way.... especially since that "supported" way may still break when a new release comes out - as many of us experienced when we upgraded from CRM 4 to CRM 2011 and saw changes to many of the old documented APIs.
Cheers!
C.List