You said it's an external USB drive, correct? Could it be a race condition during the boot process where the USB mass storage driver hasn't detected the drive yet when /etc/rc.d/zfs is run? As a test, add a "sleep 30" in that script before the "zfs mount -a" call and reboot. Cheers, Freddie Typos courtesy of my phone.