Since you are using the read only option then you should not hurt anything on /dev/hda2. So I think that you should try the different possible debugfs commands and see if you can get one of them to work.
I read the debugfs -R help and it did not tell me much about undel. My guess is that undel changes an inode on /dev/hda2 so that the file is now existing again. I do not think that undel will work in read only mode. But it should not hurt anything to try undel in read only mode.
I think that first you should try to copy the deleted file to your home directory with cat. If you cannot get that to work then try undel in read only mode. If that does not work then try undel in write mode.
Be prepared. Create a LifeBoat CD.