I have been looking at this error in our logs, and the missing parameter is actually thrown by a Sitecore logging method. It might mean that it's a Sitecore bug. I saw a post in their (password-protected) developer forums that was basically this question, and got no reply...
If I end up posting a support ticket for it I'll follow up here with what I find out.
Here's the stack trace that makes me think Sitecore's got the bug:
System.ArgumentNullException: Value cannot be null. Parameter name: ownerType at Sitecore.Diagnostics.Error.AssertObject(Object argument, String name) at Sitecore.Diagnostics.Log.Error(String message, Exception e, Type ownerType) at Sitecore.Web.WebUtil.TransmitStream(Stream stream, HttpResponse response, Int32 blockSize) at Sitecore.Resources.Media.MediaRequestHandler.DoProcessRequest(HttpContext context) at Sitecore.Resources.Media.MediaRequestHandler.ProcessRequest(HttpContext context) at System.Web.HttpApplication.CallHandlerExecutionStep.System.Web.HttpApplication.IExecutionStep.Execute() at System.Web.HttpApplication.ExecuteStep(IExecutionStep step, Boolean& completedSynchronously)