OK, let me go a step further with my reply. If you open the file /etc/shadow you will see a list of users and a bunch of cryptic information about them. Each line will start with the users name, followed by a colon (
, and if they have a password there will be an encrypted string next, basically a bunch of seemingly random numbers and letters. And then there will be another colon, delineating the end of the password field.
A user without a valid password will show up as their user name followed by two colons, or foloowed by a colon, and exclamation point, and another colon, or possibly a colon followed by a star (*) and then another colon. So by checking that file you can determine if they indeed have a password.
I might add that depending on how you add a user you can screw things up yourself. If you just use the "adduser" command in a terminal then the user will have no configuration files in their new home directory. My graphical user manager will copy the basic configuration from /etc/skel to their home directory. Without certain files like .Xinitrc (which is hidden) the user will not be able to get the graphical interface to start.
I've gone through the code and the gui works fine for me under all circumstances (even though it's a bit ugly looking) so if you didn't use that I'd suggest you do.
Nathan