I have heard that the Mumbai consulate does not accept USD cash anymore...
In any case, it is quite easy to get the demand drafts done from nearby banks (Bank of India, Indian Overseas Bank, Standard Chartered Grindlays) using Indian Rupees...
You can convert your dollars into Indian Rupees at the airport or money changers and some banks in Mumbai...
If you have a debit card then I think you can use it to directly withdraw cash from the Standard Chartered Grindlays ATM... They also accept USD Travelers Checks (with your passport + TC counterfoils)...
Good Luck