Hello Eric,
My apologies for the long silence; I hope this post will be useful to you and others. :)
I found an acceptable workaround both for 4 and 5 version, by adding some code in Channel.aspx, at the bottom of window.onload=function() as follows:
window.onload=function() {
// (original content here...)
function OnLoad_ChangeMyName(newname)
{
if(newname)
{
ChangeDisplayName(newname);
}
}
Desktop.Prompt(OnLoad_ChangeMyName,TEXT("UI_CONNECTION_NeedName_Message"),TEXT("UI_CONNECTION_NeedName_Title"));
}
This code is inspired by MyInfoMenu_AddItems() function, found in Channel_New.js of rel. 5.1.
This is not a blocking solution: user's former alias is written anyway in users list few seconds after the dialog appears, but it's updated if the user confirms a new alias pressing OK and is otherwise confirmed if Cancel is pressed.
Hope this helps.