Thanks for all your advice and suggestions! Sarah, I hope your situation is getting better even a little. I'm sorry I didn't write back sooner - I just couldn't find anything I could offer and was waiting for more suggestions for myself.
After almost 4 months, I think I finally figured out our problem (I'm so glad the past 4 months were cold!). I suspected that my dd was afraid of water in general, but it turned out that she was scared of water tricking down on her face.
So last week I started to prepare her bath. She started to cry nervously, and I said, "it's OK, you don't have to go in yet." Then I took out her bath toys and displayed by the tub. She wanted to play with them, and I said, "no, you play with these in the tub." Then I took out her duckie hooded towel and kitty washclothes and placed by the tub. Again she wanted to play with the duckie towel, and I said, "no, you use this after the bath." Then finally I took out a new bath book (she is a bookworm), and told her, "we can read this book in the tub." Then I undressed her, told her she'd be ok and she won't get any water in her face, and put her in the bath chair. She cried and murmured "it's OK, it's OK" until I gave her the bath book, which completely distracted her. Then I spend probably good 10 minutes or so just reading the book with her in the tub. After that she didn't cry once, and I took extra care not to drip any water on her face when washing her hair (she refused to wear a visor I offered). This whole process took more than 1 hour.
A few days ago I did the same process with a new bath book. She didn't cry until I tried to put her in the bath chair, which was a major progress! (Since January she was crying as soon as I started to wash the tub.) I think I'm on the right track. I have 2 more new bath books, and I'll do bath in 2 or 3 days. (For the past 4 months, dd sometimes went for 2 weeks without a bath because I gave her bath only when it was completely unacceptable.)
It was accidental that I confirmed her fear of water in face, but now that I think, I knew she didn't like it from the beginning. But I didn't address the issue partly because I didn't think it would become such an ordeal, but also because it was dh who was giving her bath. I used to hear occasional cry from the bathroom followed by "oh it's OK, I'll dry your face off." It was hard to tell dh my suspicion, but now that things are getting better, I told him what I thought the problem was. Hopefully it didn't hurt him, but he seemed rather happy when he said "I think you'll have to give her bath for a while, because I'm not good at keeping water away from her face"!
Sorry for the long post.. I'm happy that I can finally report back on this issue, and I can only hope that my little experience might help someone.