Hi John,
Turns out I had it right all along, but had a blindingly obvious error! I had the $ sign in front of update_field!
$update_field($field_key, $display_name, $assignment_id);
So obvious that I missed it completely. Thanks for your replies though – it is much appreciated.