I have a 3TB WD disk (in a My Book Essential external drive.) I used parted under Linux to partition it with a GPT disklabel and loaded it up with data from my laptop through the USB cable. Then I cracked it open and switched to be an internal SATA drive on a different computer (a desktop).
Linux (Fedora 14 on both computers) did not recognize the disk. parted said unrecognised disk label. It also reported the logical sector size as 512 bytes: "Sector size (logical/physical): 512 bytes / 4096 bytes. When I had it hooked up to my laptop via USB, it was reported as 4096/4096.
I attempted to repartition it by multiplying all sector offsets by 8, but it still didn't recognize the data. (Not that I'm terribly surprised.)
If I switch to the USB connection on the desktop machine, it switches back to 4096 byte logical sectors. So it appears that it's the USB controller board that makes it use 4096 byte logical sectors. Honestly, 4096 makes more sense to me, given that it's the hardware sector size, but is there a way to make either USB or SATA use the other value?