Best time to visit is in summer; then the boat can pass from under the falls. In winter, you won't be able to go under. In rains, boating is closed.
Pravin and I started from Bangalore using public transport. Took a long time, around 4.5 hours. I would surely recommend that you hire a vehicle. That would save you around 1.5 hours and would cost you nearly the same. We want as follows showing changes of bus for entire route:
Bangalore -> Krishnagiri -> Hogenakkal -> Dharmapuri -> Bangalore
Fort in Krishnagiri
