I'm porting the arduino bootloader and core to the xmega chips. Shouldn't be
too hard for me to change from hex to binary format until this is fixed.
Your guess about offsets seems to match the differences in the two input
files I attached.
I wouldn't worry about figuring out if a "flash" area address is in the boot
area. I'm using "-U boot:w:FILE.hex:i" so checking against "boot" should be
fine. There's something to be said about having to specify "boot" in order to
write to the boot area.