Solution 1:

Try something like:

[homes]
   browseable = no
   read only = no
   create mask = 0700
   directory mask = 0700
   valid users = %S

That should set it so that users can't see each other's home folders, files/folders are created securely, and should auto-create the folders.

Solution 2:

Check your /etc/pam.d/common-session file:

session required pam_unix.so
session required pam_mkhomedir.so umask=0022 skel=/etc/skel

You also need to add the following under [homes]

path = /home/%U

KJS