I should have made it clearer that Zurich had obviously expected me to fly the heading while climbing.
How is it obvious? Were you put on a heading - or were you still on the SID? Answer that question and you'll see what we're getting at.
If not, why not query a) my readback and b) my not turning along the SID.
a) They probably missed it; and b) subsequent headings were probably given once they realised what was happening.
They gave me the climb instruction before I had reached the 4D point on the SID.
So? A further climb doesn't take you off the SID's lateral profile - a heading / further routeing instruction is the only way of doing that.
I have no doubt they had intended this, since the initial heading and the following headings picked up my filed route.
See answer (b) above.
You're making assumptions and second guessing - two things which have no place in a Controlled, IFR environment.