Hello Gregor,
when you're getting over 53% of flash memory, you're getting over the 64kb border, which means your address pointers are three bytes instead of two. I just had a quick look over your code, but it seems that you use the "pgm_read_byte_near()" macro to read your samples, which takes...