Without trying it, one thing I noticed is that you cancel the connection attempt, therefore no connection is actually made.
Since the check box is "move to top of list on connect", it makes sense that it would need to see an actual connection before updating.

Can you reproduce this using actual connections, where the first one connects, then you disconnet, then connects using the second?