Yes, I am aware of the special characteristics of Approve. The same group of users have a Save on two steps, but the other button is either Approve or Archive. They swap places between the two steps.
It seems to me that ordering the buttons according to the route evaluation would make more sense. In the case of checking user must select..., route evaluation is irrelevant since there are no conditions on the routes.
At one point I was snooping through data in the database and found what I think may have been XML that defines the special buttons. I did not know Deny was one too, we use Reject. I was going to play around with it to see if I can make Archive have the same behavior as Approve and Reject as Deny. I also have one, Resubmit, which is like Approve for the originator after making changes.