Yeah, sounds like it could have to do with the size of the drive, and Twoflower's suggestion to use the CHS setting in the BIOS seems to ring a dim bell with me. That's probably well worth trying.
You likely already know all of this, but just in case it might help someone... When I clone drives with dd I usually boot the machine containing the source and target drives from a USB stick containing a recent distro like Ubuntu, Debian, etc. Then, once the machine is booted from the USB drive, examine the source/target drives using fdisk -l. I then usually mount both drives (unless the target drive isn't formatted), and examine the files using ls, and other commands, just to make sure the files look OK. Then, I check /var/log/kern.log and do a dmesg to check for any drive errors.
Then, before I launch the dd command, I do a dmesg -c to clear the kernel ring buffer. Once the dd command is launched (and for cloning the entire drive, you're correct to use /dev/sd[a-z] designation for the source drive), you can issue dmesg commands to watch for any new errors the drive might throw during the dd operation. Also, you can issue a kill -USR1 <pid_of_dd_command> while dd is running to get a progress status.
This all makes sure that you catch any possible errors indicating that the drive has issues. And, once the dd command has completed, and dmesg doesn't show any drive errors, you could do a recursive diff of the two drives to verify that the copied files are identical to the source drive's files.
One other thing that might help, if you need to move the cloned drive data to a smaller drive, would be to dd the source drive to an image file and then use udisksctl to set up the image file as a /dev/loop0 device so that you can open it with gparted and resize partitions. Once the image file is set up the way you want it with gparted you can then use truncate -s, if necessary, to shrink the image file, and then dd it back to another (smaller) target drive. There are good examples of this procedure available via your favorite search engine, and I can verify this all works quite well, although it's been a while since I've had to do it...
Good luck!