I'm no expert, but since no one has answered your question yet, i'll work from experience:
Firstly: First, make sure the password is actually being created. If it is, then: Yes, all works well when you change the passwd on the XP client. I dont' know why. More than likely you have to tell the XP client to look for the new password, but I don't know how to do that. Ask Microsoft. If it's not, make sure you're root (I know, but, still) and check man smbpasswd for details, you might have to manually edit something, and i'm not sure where that is on ubuntu. (/etc/smbpasswd, etc/users...)
Secondly: Pretty sure that is a XP issue as well. Doesn't make any sense that any value you could put in would affect it like that. have you tried accessing the server after the first time with other users?
But anyway, here's a maintained smb thread, sure with mandriva, but lower info still applies:
http://www.swerdna.net.au/linhowtosambacifs.html
Thirdly: What? Yes, you have to create samba passwds for any person that wants to access your samba share.