The nickname property doesn’‘t seem to work when the channel is active. The presence status that it’'s sent contains the current nickname, not the new one.
I changed line 1128 of the original Room.as from this:
var tempPresence:Presence = new Presence( getUserJID() );
var tempPresence:Presence = new Presence( getRoomJID() + “/” + pendingNickname );
…and it seems to work.
The nick change response is checked at line 662 and the private field containing the nickname is updated.
Let me know if the is correct.