Hi utnik.
Thanks for the feedback. It's always much appreciated.
I believe that I can answer both of your concerns.
1. The level order within a group should be preserved, therefore treating a group as a single object. This may make the code a bit more complicated but I can't see it proving to be a major issue.
2. This function would be no more dangerous or disruptive to small or "invisible" objects than any other function. Similar unexpected behaviour would happen if someone used, for instance, the "Raise to Top" or resize functions on a selection. And this function may actually show where there's a problem more readily. And, after all, there's no excuse for bad housekeeping.

I realise that this is very minor functionality and the developers have got much more important things to deal with so I'm not bothered if it gets forgotten about forever. It's merely a suggestion.
However, I do think it would be good for a small student project. It's quite "self contained" in the way that it doesn't really effect any other functionality so the code can be easily kept away from any other changes going on and slotted in when necessary.
Anyway, I thought I'd put the idea out there to see what people thought.
P.S. I've not missed this myself in the past but there have been many times where I've had to manually mess around with levels when all I wanted to do was swap two things round. This suggestion is just an extension of my thinking. (Obviously, a "swap" is just a reverse between only two things.)