Os sinalizadores [L] e / ou [F] estão faltando na sua RewriteRule link Eu não tenho certeza se isso faria a diferença?
O! no * RewriteCond% {HTTP_REFERER} ^ ou RewriteCond% {HTTP_REFERER}! ^ \ inverte a condição lógica.
Então
RewriteCond %{HTTP_REFERER} !^http://(.+\.)?mysite\.com/
RewriteRule .*\.(jpe?g|gif|bmp|png)$ http://img148.imageshack.us/img148/237/hotlinkp.gif [L]
Diz se é "!" NÃO mysite então "[L]" NÃO permite que seja um negativo duplo permitir se do seu site.
A correção [L] é a bandeira de LAST - [F] é proibida e eu preciso verificar meus óculos.