Shouldn't it be included by default in the MediaProvider? It doesn't make sense to have to do this hack instead of having it available through the provider since most of people will use the MediaLibrary to reuse images / files with it's metadata instead of having to upload the same image / file over and over again and when you have to change the metadata, you'll have to go through all pages and change it.
I mean, when I use a File as the Field Type, I have the amazing DocumentAttachment object that I can use in the code. Why can't we have a "Media Library File" Field Type that it'll simply map to a C# object and have the metadata from it?