The 1.#INF and 1.#SNAN are bugs - Microsoft's system library has a totally nonstandard way of handling infinity, not-a-number, and (if I recall correctly) denormals. They should format as just Inf and NaN, as you see if you print them without using [format].
The fix for that would be to have the %e, %f and %g format groups go through Tcl's own formatting rather than the system's 'sprintf', and we have about 80% of the plumbing to do that. I need to get back on that.
I'd also think that it would be appropriate to have [format] be permissive about NaN's. Most operations that take double's want to fail early, so many go through common code that complains when a NaN is passed in, but that seems too restrictive for [format].
The NaN(0xBADDECAFC0FFEE) is intentional. We have a subtle requirement that double's, when converted to string through the default pathway, need to reconvert to numbers (or Not-A-Number's) that are bit-for-bit identical to the original. (This is not possible for SNaN on all hardware, but we try, and we try to preserve all but the 'signalling' bit if we have to deal with it by downgrading to QNaN.)
Unfortunately, I don't have a lot of bandwidth to work on the Core just at the moment, so if you depend on me, a fix may well be delayed. (I do fully intend to get back, but even then, a lot of the effort is going to have to go into backfilling for Miguel, alas.)