It is a bit too late to dig in my code and i do not actually know how/if it handles ~stretch modes - but it should (at least it is meant to). Have to check that tomorrow.
However, my code is intended to enumerate all displays and their actual modes (from EDID data: http://en.wikipedia.org/wiki/Extended_display_identification_data#EDID_1.3_data_format ) i use EDD_GET_DEVICE_INTERFACE_NAME for enumeration.
Interface names should be on a per monitor basis - ie. physical monitors instead of logical ones (i doubt the graphics card is faking a EDID response in hardware for stretch modes).
edit: My graphics card does not seem to use your terminology - so i am not sure what any of the stretch options you mentioned actually mean. I use two monitors as one desktop (both on same graphics device - so, stuff can overlap both monitors). No problems detecting the monitors and their desktop coordinates / etc / etc.
edit2: Ha, i thought i remembered a mode that stretched the windows task bar over both screens making windows think it is one monitor. And it seems stretch indeed refer to graphics card faking a single monitor. Google did spit out this in regards to stretch: "Most video cards only support span (aka. stretch) mode on Windows XP and earlier.". No wonder i do not see it mentioned anywhere - it is abandoned nowadays. If true then the only way to know the actual monitors is ask your graphics card in some vendor specific way.