I think loco availability was not the problem earlier.
The problem was with the layout of the yard at Wadi, because of which there were some problems in handling too many loco changes. It could have been due to insufficient arrangements for stabling idle locos, or a track arrangement which blocked traffic during a loco change.
Now, as to why most of the Bangalore bound trains run on diesel locos and not the Madras bound ones, it is because of the higher availability of d-locos at Bangalore. It is just the...
more... easier solution.
Since Wadi has a limited facilities for a loco change, they have to prioritize some trains over the others for a traction change. Now it is difficult for trains coming from Madras to run on diesel traction end-to-end, as there is very limited diesel loco availability at MAS. So, between Madras and Bangalore, the Madras bound trains get higher priority for a traction change.
Since trains going towards Gulbarga have to change to diesel traction, considering that SWR has a large fleet of diesel locos, it would make the job at Wadi easier, if the Bangalore bound trains run with diesel traction all along the route. This way, they can avoid a loco change at Wadi.