I appreciate the comments so far but still don't understand.
I've looked at the issue highlighted in that post ramones but as far as I see my code doesn't do that. It uses nested functions, all effectively fired "within" event 4.
Mouse Click (event 2)
Sub-event 4 create peg, pin to wall. Call Create Brige
"Create Bridge"
"Add Bridge" (loop)
Do functions not work like this? In my head they'd have the above nesting. In the event sheet they show as top level events.
I've also looked at your bridge example (thanks btw) and if need be I'll try rewrite mine to work the same (assuming I can with dynamic pegs), though I'm still stumped over why it isn't working through functions.