i haven t had exactly this problem, but i have had similar problems. what i think may be the proper solution for you is to add an entry to /etc/fstab for your external HD, to make sure that it gets mounted early in the boot up. otherwise it will get mounted by autodiskmounter, which happens later in the boot sequence, an certain processes might require you to have a home directory before that happens. /etc/fstab gets read much earlier in the boot sequence.
read this thread. i think it gives a fairly complete how-to