The bad pixel data is saved to a file, so that data usually does not need to be refreshed after first run, though it will be checked every time the offset calibration is done, too. (Add compile-decompile-understanding -issues caveats here, but it seems the SDK has small bug on that user bad pixel update, which might make it stop working on a session after a number of runs of calibration). Unlike the manual states, there is no need keep pressing anything for long time.. short tap is enough, it'll do it, at least did for me.
Note also that if one has multiple cameras, the same saved bad pixel file will be used, so deleting it when switching camera could be useful.
The calibration stored in the camera flash is made at certain target temperatures at certain time of operation and at certain ambient temperature(s). Since the camera's pixel performance varies over time, even if the calibration time situation could reproduced, the shown view would not be exactly as good.
The offset-part of the user calibration is indeed not saved to a file, so start of the app (and possibly detach/attach of the camera) is enough to reset the user calibration.
The SDK does user calibration by averaging 7 frames for offset compensation, and uses one more frame for bad pixel scan.
The software (SDK/app) tries to compensate for initial warmup and sensor's temperature changes, and something about ambient, too, but those compensations are estimates.
Thus, for best results, it is best to just start the app, let the camera warm up (say, 10-15 minutes, if not more, the old reverse engineering thread has some nice info on how the values change over time), then do the user calibration. By that time the drifts and weird spots should have mostly stabilized.
In my unit, after a short while, there is quite wide darker vertical stripe on the left, but not perfectly limited to specific columns. The user calibration gets rid off it, though in the early minutes it slightly creeps back, less so later (with warmed camera).
That the calibration would affect the temperature numbers, too, I don't know about. I haven't yet deciphered the user offset calibration effects fully (or tested in practice).