My guess was that the code was referencing some data outside of the parameters, which was changing.
This is bad design of a pcell. It's OK to reference static data (e.g. info from the tech file), but referencing some data which may change during a session is not safe - all communication should be via the pcell parameters - as that will trigger pcell re-eval where necessary.
Or maybe it's that the pcells are being developed and the code is being changed. If it was SKILL code, this is handled automatically - if you redefine the pcell, it triggers a re-eval of all variants - and in IC614 you can use the SKILL Development Environment to single step through your pcell code, reload it, and see the effect of changes. But I wouldn't know how to force any python code to get re-loaded.