thols, you were absolutely right, it was a separate issue which i think i've figured out now thanks to this thread
As it transpires, i was getting about 16microseconds on my laptop to run the subVI i originally linked, and Draw (which confused me) took up the remainder.
The reason for the slow update to start with was that I'm using a queued msg handler to respond to "mouse move+mouse down" events, which trigger the rectangle drawing on the picture. This was then just queuing up elements eventually much faster than the code could execute them, hence a slowing over time.
Adding a <has x ms elapsed> boolean check into the event structure handling the UI queue for this event eliminates the problem