Ich kanns mir nicht erklären. Der Code ist ja identisch.
Aufgerufen wird er auch, sonst wäre das Pickup dort ja nicht.
Und erstellt wird es auch, da einmal 0 und einmal 1 zurück gegeben wird.
Sicher, dass du nirgends im Code ein Label löschst, also hast du nirgends Delete3DTextLabel verwendet?