Is the engine check light turned on? - if it is you can scan for any stored codes which would be useful.
Runs pretty well until warmed up? So, when it's cold the fueling is open loop which means it uses a pre-stored fuel map (mixture control) embedded in the ECU. When approaching normal running temperature it will go closed loop which means it still "consults" the stored fueling map but will also take into account the output from the Oxygen sensor in the exhaust (before the CAT) and use this to "trim" the fueling for minimum emissions etc. This sensor's output should oscillate between 0.1 and 0.9 volts roughly once or twice per second (frequency varies with engine speed and other factors) and can be easily seen using a scanner like
Multiecuscan which can graph this output. Many of our members use
MES (there's a section for it) and there may be someone near you who could help. By the way, on my Panda, the pre CAT O2 sensor and Post CAT O2 sensor are interchangeable so swapping them over would maybe eliminate this possibility (the Post CAT sensor has no effect on fueling so even if you put a duff one into the post CAT position it won't affect the way the engine runs but will probably light the CEL. Trouble with this check is the sensors are often so rusted in that you virtually destroy them trying to get them out!
Then again, on a completely different tack, this sort of thing can be thrown up by a faulty crankshaft position sensor. They often initially start playing up only when hot and then become more troublesome as they degrade.
So difficult to advise on this sort of thing from a distance. Might be worth trying a "wiggle" of all the wiring and ECU plugs, including coil connections, in case there's a broken wire or faulty plug connector? watch what you're doing with the coil wires so the HT doesn't "bite" you.
PS Compressions around those figures are fine. On a car of this age, if they are all reasonably equal, the ultimate reading is less important and she should run fine at that.