1) It looks like your password field is bound wrong... onl ine 53 it should be:
$UpdateQuery->bindColumn("password", "s", "".((isset($_POST["password"]))?$_POST["password"]:"") ."", "WA_IGNORE");
2) This looks like it should work... i'd have to debug it. Can I get a URL and login information to reproduce the problem and FTP access to debug it?