Sorry for not answering earlier. I was away on vacation.
@Pauls: the uint8_t vs. uint16_t issue is a bug. I am to blame for it. However it has no effect on the code. With regard to the comments. This is always hard to do. However in my blog I extensively describe how this is supposed to work. Anyway I tested it thouroughly. The bug does not affect the external behaviour. It just does not use the EEPROM in an optimal way once n>255.
He did NOT STEEL my code. What he did is intended use of my code. He only messed slightly by copying the copyright which is of course not correct because it is his code. I am not offended by this. Copyright is tricky.
With regard to the sloppy code: what exactly is sloppy about this code?
Now with regard to the original question: I uploaded the code into an Atmega 328 and 168 and it worked fine with both. I assume the issue is due to the Attiny44. It has only 256 Bytes SRAM and 4k flash. Since the compiled sketch takes slightly above 2k the questions are: are you using a bootloader and if so, how much flash does it consume? Otherwise I suspect you are running out of SRAM. In this case you either have to either learn about optimizing RAM consumption or use a CPU with more RAM. I would vote for more RAM.
Besides that I think you fully understood how to apply my work. Great
Keep going.