Can you paste the actual format of the request so that we can try to repro the issue? Currently when I copy paste the below request I see that the line breaks (CRLF) are not in the expected places. Looks like you copied this request
content from a browser’s debugging utility. You can use a tool like Fiddler to capture the request and send us the details. Thanks.

When I made a new MVC5.1 and Web API 2.1 project based off the my code, await Request.Content.ReadAsMultipartAsync(provider)
worked as expected.

So I went back to my project and took a look at the Nuget packages. I removed Glimpse MVC 4.0, updated all my DotNetOpenAuth packages (just to be safe), and changed my site's target RunTime from 4.5 to 4.5.1

Everything is working now, although I am not sure which binaries was causing a conflict or such that would make ReadAsMultipartAsync not originally work.