Should I go out of my way to force the framework to change everything to lower case?
Non, ce n'est pas nécessaire. Les systèmes d'exploitation Windows sont insensibles à la casse, y compris leurs OS de serveur et leurs applications de framework. Les systèmes d'exploitation Linux / Unix sont cependant sensibles à la casse.
Les applications Internet (par exemple, les navigateurs) devraient normaliser les URL, comme indiqué dans la section 6 de la RFC 3986 :
L'une des opérations les plus courantes sur les URI est la comparaison simple: déterminer si deux URI sont équivalents sans utiliser les URI pour accéder à leurs ressources respectives. Une comparaison est effectuée chaque fois qu'un cache de réponses est accédé, un navigateur vérifie son historique pour colorer un lien ou un analyseur XML traite les balises dans un espace de noms. Une normalisation approfondie avant la comparaison des URI est souvent utilisée par les araignées et les moteurs d'indexation pour tailler un espace de recherche ou pour réduire la duplication des actions de demande et du stockage des réponses.
Comme vous utiliserez sans aucun doute un serveur Windows, les URL et URI demandés seront très bien renvoyés aux applications clientes.
En ce qui concerne les moteurs de recherche, comme indiqué dans le RFC ci-dessus, et dans votre lien Wikipedia sur la normalisation des URL :
Les moteurs de recherche utilisent la normalisation des URL afin d'attribuer de l'importance aux pages Web et de réduire l'indexation des pages en double.
Et comme sources comme ce rapport sur le sujet:
Plus récemment, Google a commencé à mieux comprendre que /page1.html et /Page1.html n'étaient que deux instances du même contenu.
Why did Microsoft choose to design their framework like this if everybody is telling me to use lowercase?
Il est compatible avec leur système d'exploitation et techniquement pas incorrect selon les RFC. Ils ont aussi leur propre façon de faire, ce qui empêche les webmasters de deviner :-)