After some extended testing, I have noticed that the real-time updating of the Shim devices is too slow.
The Smappee is creating MQTT messages every second. This is handled by the MQTT plugin OK AFAICS.
I have a trigger set to run an action to update three variables.
If I associate two Shim devices with the MQTT device, the lag gradually builds up because the queueing can't keep up.
Therefore the readings being displayed by the devices states are not meaningful.
Not sure what the answer to this is but it looks like (for this application, at the moment) I will have to rely on variable updates.