No need to be sorry Morgan. I'm glad you are reading (and quoting the QSI manual).
"Some DCC controllers have separate horn/whistle and bell buttons, in addition to Function Keys assigned to horn/whistle and bell operation. The bell is usually assigned to F1, and the horn is usually assigned to F2."
Notice that you see "some DCC controllers". The only DCC system I konow of that has a separate dedicated horn/whistle button is NCE (and that happens to be the system I use). Both the "2" (for F2) on the numeric keypad, and HORN button activate the F2 function, sending the F2 "on" signal to the decoder being addressed. The "2" button on keypad is latchign, while the "HORN" button only sends the F2 "on" signals for as long as the utton is depressed. This is done in the throttle (not on the decoder) and cannot be reconfigured). hat is NCE Power Cab and Pro Cab. In all the other DCC systems (like Digitrax) that do not have separate dedicated HORN button, the F2 ("2" on the numeric keypad) is configured as a non-latching function. But maybe those systms can be configured for F2 button to be latching - I don't know.
But the indisputable fact is that there is no place inside the decoder (check the manual) where the horn activation can be set up as non-latching. My QSI decoders behave as expected.
Looking at the equipment you own, you have a Digitrax CDS50 DCC system, and SPROG. I don't own either, but I believe that you can use SPROG to also run a locomotive (not just program it). If that is the case, try running this loco on both systems, and check how the whistle behaves on each system. If both DCC systems act as if the horn (F2) is latching, then I don't have an answer for you. It makes no sense to me either.
I'm assuming that this loco is standard DCC (the decoder gets its power and DCC info directly from the track - no radio signal involved).