Good point on some (many) bindings that force 2048 in order to get two frames, and therefore more than 7 channels. 2048 mode is needed for that reason. Good observation.

Regarding auto sense: The documentation at the beginning of the Paparazzi code is some of the best I've seen on Spektrum. They are almost totally correct. However, there are some bind modes they do not have, and those modes violate their assumptions. In fact, for a long time, I thought the TX info bytes/bits laid out exactly like they show... until I had some traces that conflicted with that. Mostly from DSMx capable Sats running in DSM2 mode. There are some other exceptions as well.
There is a relationship between binding and those header bytes. In the Paparazzi doc, they call things the "main" receiver and the "secondary". This is a partially correct term, in that, at bind time, pulses are sent to the Satellite at power up to put it in bind mode. Send a certain pattern (there are several) and that individual Satellite becomes the one that links back to the TX
during bind by emitting RF that the TX receives. This is how the TX "knows" whether it is binding DSM1, DSM2, DSMX, 1024, 2048, one frame, two frames, etc, etc, etc. Send a different pattern, and that individual Satellite remains silent during bind, just accepting and memorizing things from what it receives. During any given bind, there must be exactly one "Main", and there can be any number of "Secondary". There are even ways to have more than one "main" linked while flying; giant scale guys use this all the time to have multiple RXs, each with sats, in a big model. Anyway, I'm getting off into edge cases. Suffice it to say there's even more than I'm describing... fully documenting the Spektrum bind process takes many paragraphs.
Here is they key point regarding the ability to "Autosense": 1024 vs. 2048 mode (and more, as above) is actually stored in the TX. The satellite only stores the GUID of the TX, and whether it was the "Main" v "Secondary". Nothing else is stored. The Satellite just passes through whatever it is sent, no matter how it was bound. One Frame, two frames, 1024/2048, all determined by what the TX sends, not what the Sat wants.
Furthermore, the Satellites bound as "main" will send "TX info" in their header (although, as noted above, not exactly as Paparazzi documented it), but Satellites bound as "secondary" do not send this "TX Info". And that's the real gap at the moment. If the end user plugs in a satellite that was bound while plugged into a "main" receiver (which is almost their only choice today, because we can't (yet) put a satellite into "main" bind mode for them), then that satellite will not be sending TX info... and, obviously, if it is not there, we can't sense it.
If/when I find a totally reliable way to bind from Multiwii, and we are willing to say "You MUST bind this way, using a sat bound elsewhere is not supported", then we can Autosense. Because we can force "Main" mode, and force a mode that sends a known header.
Until then, set it in the #defines.
Danal