I do not have an ISO car so I don't know why the re-init does not work
About the refresh rate, when your screen displays fuel consumption, cost, etc, it does not ask for any particular PID, only the internal accu_trip() asks for rpm/speed/throttle/maf/fuel_status and what you display does not involve asking for PID, so the system asks 5 PIDs per "cycle".
When you want to display information like speed, rpm, or any others PIDs, the system has to ask for it, and on a ISO system it's slow... so if you display 4"real" PIDs instead of 4 "fake" PIDs (like fuel consumption, distance, etc), the system has to ask the 5 regular PIDs + your 4, so 9 PIDs in a cycle, hence the slowness...
One work around would be to "cache" the values read by accu_trip() like rpm or speed so when you want to display them, the system would not re-ask the ECU the value but use the one in cache. But if you display others PIDs you will have the same slow refresh rate.