I've just finished watching a broadcast of the film and I'm wondering if my mind's playing tricks on me. I'm sure that I saw Harry wearing his normal clothes in the previous scene, only for him to enter the school hall where the Snape/McGonagall fight happens in an ordinary Gryffindor uniform (and washed hair?), give a speech about how Snape doesn't deserve to stand where he is, and then finish the scene back in his normal clothes. Did this really happen?
Harry has put on an academic robe, perhaps borrowed from another student, to tidy himself up a bit before entering the great hall.
He then discards it immediately (from his left hand) after the camera cuts back to him and McGonagall following Snape's retreat through the leaded glass windows:
Warner Bros. JK Rowling 2007 detail, fair usage.
From the film script:
[Everyone in the hall stays absolutely silent. After a few seconds, footsteps are heard as Harry, who hid among the Gryffindor house students and wearing a Gryffindor robe, steps out into the open. All the students turn towards him in surprise. Even Snape looks surprised.]
It seems that Harry deliberately changed into normal school clothes in order to be able to hide in the crowd.