Recently I had to test several UEXT modules. To be safe I always switched of the power before changing modules. I was wondering if this is necessary. It would be nice if the power pins on the connector were a little bit longer than the other ones. This would always switch on the power before the serial, I2C and SPI lines are connected. Also signal lines are disconnected before power is off. As most of the UEXT modules have integrated serial, I2C or SPI interfaces I was wondering if all of them are protected against 3.3 Volt on the signal lines if power is not switched on yet. Of course spikes can also be higher at connect or disconnect.
You are doing the proper thing. Personally the only problem I've seen coming from hot swapping is resetting the main UEXT board. This happens when the module has big capacitors on the power lines which causes huge current drawn from the main board which might restart it or cause it to hang.
Everything in electronics is about what is the best for your tasks and goals. If it is important that your main board never hangs during power swap or if you are afraid of electrical damage - then keep doing what you are doing - enable powering AFTER the hardware connections are established.
If the speed is more important - just risk it.
There are steps that we can take to reduce the chances of such events of course. But these would cause few problems - increase the size of small boards, over complicate a simple design, increase the cost. And honestly not a lot of people care for hot swapping and those that care know what steps to take to reduce possible problems.
My idea is making an universal measurement system based on the Duinomite Mega, with local display and control (MOD-LCD2.8RTP) and all kind of sensors on the other UEXT connector. Dependant of the plugged-in sensor (just trying the different addresses) the program switches to the right routines to display the right values. For the moment I have the MOD-IR-TEMP up and running, and I'm going to buy more sensor modules. Besides of the local display all measured values should also be communicated through the CANbus (CANOpen or J1939 protocol). Normally you will not change the sensor during operation, but the connection has to be outside of the box and if something is blown up at every hot-swap, business at Olimex will be too good 8)