Appears to be something not quite right somewhere? Try this instead and let's use "student" as the example:
Create the User in the local directory:
dscl . -create /Users/student UniqueID 50x
Create the User's Shell Property to bash:
dscl . -create /Users/student UserShell /bin/bash
Create the User's full name:
dscl . -create /Users/student RealName "Student"
Create and set the User's password:
dscl . -passwd /Users/student thepasswordyouwant
Make the user part of the local staff group:
dscl . -create /Users/student PrimaryGroupID 20
Create and set the User's Home Directory:
dscl . -create /Users/student NFSHomeDirectory /Local/Users/student
That should be it? The 50x in UniqueID should be set to 502 or above. You can't use 501 as that would have been used when creating the first local (admin) account on that mac. If you want to elevate that user's privileges to admin then simply change the PrimaryGroupID switch to 80.
Always test the above locally first whilst logged in as an admin, using Terminal and root privileges. How to elevate to root privileges? precede all the commands with sudo. When you use sudo you'll be prompted for the local admin account's password which you won't see being typed. Once you've got this working as you want and, more importantly, you're comfortable with it, you can send the above commands (minus the sudo) as separate lines in ARD. Whenever you send a UNIX command using ARD you must always send it as root.
Another way of doing this is to use whatever you're using for deployment. DeployStudio is something you could easily use and if you've an existing workflow you can combine the above commands in a single script as part of the workflow.
Hopefully the above should help now?