Looks like this is a product of pure inheritance. Take a look at the inheritance diagram chart for FormsCollection (http://msdn.microsoft.com/en-us/library/system.web.mvc.formcollection(v=vs.108).aspx)
FormsCollection inherits from NameValueCollection which inherits from NameObjectCollectionBase. Keys are defined in NameObjectCollectionBase and inherited by NameValueCollection which defines AllKeys as a string representstion of all the keys. The sole purpose of NameValueCollection seems to be to expose keys as strings (MSDN: Represents a collection of associated String keys and String values that can be accessed either with the key or with the index)
May be there is more to it, but this is what I found so far for this one. Please post if you (or any one else) finds any other explanations