The active attribute starts the transport when the metro object is instantiated. It does nothing else.
I would say that the best behavior would be this: if the sync-ed metro is "on" when you change the clock source, it should stay on and keep running if the new clock source is running (and the transport, if switchable, is on — note that with ReWire sync you can’t control whether the transport is moving or not).
However, I don’t think making this work is a matter of gigantic importance at the moment. I assume you just care about this for development workflow purposes. If you really want to switch among clock sources as performance technique, you can set up multiple transports set to different clock sources, run them simultaneously, and send the transport message to your metro objects to switch them.