Ich vermute mal GUIGetMsg liefert 0 weil kein Event anliegt, da neue Variablen undefiniert sind stimmen sie mit 0 überein (es sei dem man erzwingt einen anderen Vergleich).
Du solltest generell nicht die GUIs dynamisch erzeugen, da kann sehr viel schiefgehen. Erzeuge sie vorher und zeige/verstecke sie mit GUISetState wann immer du sie brauchst.
Bevor du sie anzeigst kannst du die Daten auf der GUI setzen damit diese bereits mit den gewünschten Daten auftaucht.
Dann hast du auch nicht das Problem des Null-Events.
Oder du bastelst einen schlampigen Workaround und setzt $sButton (s ist übrigens der total falsche Präfix dafür, da dies eine Id bzw. ein Handle bzw. ein Button ist) = 1.