added a comment - - edited
The reason for this is following:
Module mod/url tries to detect the type of the content served by URL and proposes several special cases for specific mime types. Special support is available for the following type:
Everything else not being in this list is embedded with object tag (?????) that looks like this (see resourcelib_embed_general function):
<div class="resourcecontent resourcegeneral">
<object id="resourceobject" data="<url>" type="<mimetype>" width="800" height="600">
The problem here lies in fact that this particular URL does not exist and server will return HTTP code 404. When a location returns code 404 all modern browsers do not load the content of error page inside object tag. That is the reason it looks like nothing happens. The only way to load such a content is to use iframe.
The only way to solve this problem is to change the behaviour of mod/url.