After two days of heavy usage of the change as part my own working environment i'd like to share my recent impressions (on win 10 x64).
I applied the patch as above (TCustomListView.GetSelection as of reply #24). Having reverted 4d722455 as well as 082d0514.
Upto now i encountered none(!) side effects. Nobody can exclude that there might exist some in different usage scenarios, of course. But i didn't notice any yet.
Moreover a couple of flaws and compromises disappeared that i did know about but never communicated due minor importance, compared with the main issues.
For instance, now i can have a context menu on the last element of a long list immediately, and not with delay (that was already known, but more or less priced in for to have at least a fast initial population).
So, the patch keeps the benefit of 4d722455 and does even more. Some previously needed complementary workarounds on app level might be removed later.
At least for Windows with this change the "Selected" behaviour imo is back to work great again.