You might want to also employ the -m flag to "move" the contents from old to new.
I'd recommend that you do not have the newhome directory created because the usermod command will create it for you. Perhaps this is part of the problem in that you created it but the permissions are in the way of this action and you get a not helpful error.
I'm also assuming the username is not root. You cannot change root's home location. Well you "should not" strongly enough that it really is "cannot".
I'm sure there are other ways to determine if a user is logged in or has processes running, I personally would use the ps command:
Code:
$ ps -ef | grep username