Home directories are nothing special; it's just users that name them like this. Nothing in a system cares whether a directory is considered a "home directory" for a user.
You DO need permissions on all directories. Thus, you need write permission on /home/mmh/tmp, and read+execute on /home/mmh (although either read or execute are sufficient, just not sure which one. But usually read and execute are either both set or unset for directories) so you can actually get to the /home/mmh/tmp within.
You could get around all this if you run the cronjob as root; it's not generally a good idea to widen access permissions unless you absolutely have to. It may or may not be a problem in your case (I'm guessing there aren't any other users), but bad habits are hard to kill off later.
EDIT: if the two users are "friendly" (like two incarnations of yourself, so you really don't mind the other guy snooping around your data) you could add the main group of the "target" user to the group list of the "sending" user, and use group permissions. On many systems, every user is created with his own private group.