
(1) Christopher Shackle & Rupert Snell. 1990. Hindi and Urdu since 1800: a common reader. New Delhi: Heritage Publishers.
[which is actually now freely available online at https://repositories.lib.utexas.edu/handle/2152/46072 (had I known, I would have linked it earlier/higher in the thread, since it's very relevant) its bibliography is also good for further reading]
For the earlier development of modern Indo-Aryan languages from Sanskrit:
(2) Jules Bloch (ed. & translated by A. Master). 1965. Indo-Aryan from the Vedas to modern times. Paris: Adrien-Maisonneuve.
For a good general overall (including history and other things) to Indo-Aryan languages:
(3) Colin P. Masica. 1991. The Indo-Aryan languages. Cambridge: CUP.
In Hindi (modelled on S.K. Chatterjee's The Origin & Development of the Bengali language [written in English!]):
(4) Tiwari, U.N. 1961. हिंदी भाषा का उद्गम और विकास [hindī bhāṣā kā udgam aur vikās]. Prayag, Allahabad: Bharati Bhandar.
Another great (free, online) reference is the Digital Dictionaries of South Asia (including non-Indo-Aryan languages of India as well) at: https://dsal.uchicago.edu/dictionaries/ (perhaps esp. including Turner's A comprehensive dictionary of Indo-Aryan languages: https://dsalsrv04.uchicago.edu/dictionaries/soas/ ).
[Some of the other references can be found 'freely' online in pdf form in the usual 'dark' corners.]
You make it sound like everyday Hindi and everyday Urdu are far apart, but I'm not sure if that's true: if you took a Pakistani Urdu speaker and an Indian Hindi speaker, both from the middle class with only a modest amount of education (and therefore limited access to specialized technical vocabulary), both would have no trouble at all talking to each other. Occasionally one might use a word where the other might have preferred a different one (like زبان for the Urdu speaker and भाषा for the Hindi speaker for 'language'), but it's only possible to imagine them struggling if both were attempting to speak in the registers that are only used in exceedingly formal, technical, or literary contexts.
And when you ignore vocabulary, it becomes even more clear: the grammar of even highly Sanskritized Hindi is more or less identical to that of everyday Hindi, and while I'm less sure about what high Urdu is like, I don't think it differs grammatically from everyday Urdu either, with the possible exception of ezafe[1] (which both Hindi and Urdu speakers are perfectly able to comprehend, even if they do not produce it).
edit: this is Colin Masica's take in his book The Indo-Aryan Languages (p.27):
> The ultimate anomaly in the what-is-a-language dilemma in Indo-Aryan is presented by the Hindi-Urdu situation. Counted as different languages in sociocultural Sense B (and officially), Urdu and Modern Standard Hindi are not even different dialects or subdialects in linguistic Sense A. They are different literary styles based on the same linguistically defined subdialect.
> At the colloquial level, and in terms of grammar and core vocabulary, they are virtually identical; there are minor differences in usage and terminology (and customary pronunciation of certain foreign sounds), but these do not necessarily obtrude to the point where anyone can immediately tell whether it is "Hindi" or "Urdu" that is being spoken. At formal and literary levels, however, vocabulary differences begin to loom much larger (Hindi drawing its higher lexicon from Sanskrit, Urdu from Arabic and Persian), to the point where the two styles/languages become mutually unintelligible. To the ordinary non-linguist who thinks, not unreasonably, that languages consist of words, their status as different languages is then commonsensically obvious, as it is from the fact that they are written in quite different scripts (Hindi in Devanagari and Urdu in a modified Perso-Arabic).