Hi,
My guess is that it's because on the 16 series (10 & 12 too I believe) the memory is "measured" in WORDS (14-bit words if I'm not mistaken) while on the 18 series it's measured in BYTES. So I don't think your program is actually getting twice as big, it's just displaying the size of it in BYTES instead of in WORDS.

/Henrik.