I can't remember exactly, but I had a lot of problems getting data to the printer too:
It may even be this line in e05a30.cpp:
if (m_centronics_strobe == true && state == false && !m_centronics_busy) {
if you drop the !m_centronics_busy part, data should definitely be flowing.