Any code contained in
PANEL_SERVICE_PRE_UPDATE
section of a c++-gauge is exectued once every gauge update cycle, i.e. 18 times a second.
About
PANEL_SERVICE_PRE_INITIALIZE
I have assumed the same as you up till now. In there I put anything that requires initialzing before the actual gauge code starts to work, especially if sounds are involved and might click/beep away during panel loading because some general definition is not clear yet during gauge loading. However, I have not found such code to hurt during view changes, and I will usually put it within a seperate counter variable that will only be true once right during panel loaeing and never revert back to the status it had at first.
Of the other stuff I have hardly a clue myself, apart from the KILL parts that again are important when having to clear sound handles and such from RAM before gauge code execution is ended.