er82...to explain..
Your "XXX123 heading 240", could be construed as a bit vague.
Is 240 degrees the heading you just happen to be on? Or was it assigned as "radar" heading by the previous controller? Either could be true.
Therefore response you get is quite correct (Well, almost, I would have said
continue on the heading, rather than "stay on", but it amounts to the same thing).
You also said
Like I'd just wonder off and do my own thing!
You might not, but it HAS been known. Hence the controllers requirement to CHECK that you really are on an assigned heading, and to make sure that you continue on it.
Hope this helps
rgds BEX