I think e2cp is corrupting things for me too... Here's what I did:
C:\temp\e2tools_win>e2ls hda5
bin dev drive0 drive1 empeg etc lib
lost+found mnt proc readme sbin swapfile tmp
usr var
C:\temp\e2tools_win>e2cp README.txt hda5:/
C:\temp\e2tools_win>e2tail hda5:/README.txt
Attempt to read block from filesystem resulted in short read
Attempt to read block from filesystem resulted in short read: hda5
.
The hda5 file seemed fine until I ran an e2cp on it, then I get the "short read" error and e2tail, e2ls, etc. all fail. Seems like the file got corrupted somehow by e2cp.