I've been poking around with both, and FIEMAP has some nice benefits when working with VM disks. For example, if you have the same shared based across multiple VMs, you can use FIEMAP for dirty tracking of blocks, by detecting which extents are no longer shared with the common base. With LSEEK you'll lose that and have to snapshot the entire backing drive.
(We have since removed the fiemap code from cp, and replaced it with LSEEK_DATA, LSEEK_HOLE)