The problems you point out are real, but they are the problems of class differences. India has a growing middle class, and this class needs markers to differentiate itself from the lower classes it has only recently left behind. Speaking English acts as a marker now, but if it went away for some reason I'm sure there would be new markers to take its place. Think of the kind of ‘Indian’ culture promoted by the government and the schools: Indian classical music, Indian classical dance, Sanskritised Hindi. They are as alien to the everyday lives of most people in India as English is. But they were created to give the elites and the government of India a high culture of their own which was not tainted by colonialism and whose command they could use to differentiate themselves from the non-elite.
The bar situation has an additional twist. Most bilingual people I know would use the Indian language with friends and family and English with strangers. So trying to start a conversation in Hindi may come across as being too familiar too soon.
The bar situation has an additional twist. Most bilingual people I know would use the Indian language with friends and family and English with strangers. So trying to start a conversation in Hindi may come across as being too familiar too soon.