References don't necessarily break, when you delete and create new instances, as long as you don't use UIDs for references (but instance variables instead, etc.).
Have you tried using the keyboard object and setting instances active on "tab" pressed according to a order, you keep track of? I'm not sure if that works.