Pretty sure that won't work, or rather, it'll return true every time. Keep in mind that a function, when called, is its own instance of the function script.
Like I said, I haven't tried it yet, but I asked Scruggs about exactly that. More than once, in fact, just to make sure the question was clear. He said once per script, and that includes function scripts.
Wow... we're both terribly lazy, aren't we. I'm gonna go check this. Back in a moment.

Verdict: it works!
ScN InitFunctionbegin function {} if GetGameLoaded printc "***INITIALIZED***" endifendScN dikeScriptbegin GameMode call InitFunctionendScN JaneScriptbegin GameMode call InitFunctionendQuests dike and Jane have dikeScript and JaneScript attached and are set to run on game start. After 30 seconds, the console shows
***INITIALIZED*** once and only once, after both scripts will have fired several times.
Edit: Now I remember Scruggsy's explanation of why this works... the state data is stored externally. GetGameLoaded keeps a list of scripts which have called it, by FormID. It doesn't know about script instances at all. Similarly, GetGameLoaded fires once per object script, NOT once per scripted object.