On my system (Debian Wheezy Xen virtual machine) /dev/disk/by-id is not populated. The zfs-mount init script by default looks for disks in /dev/disk/by-id.
USE_DISK_BY_ID needs to be set explicitly to 'no' in /etc/default/zfs for pools to be automatically imported on boot.
The init script should look if /dev/disk/by-id exists and fallback to zfs.cache.