So, if I understand you, it is working now?
Without this bit -
RewriteEngine on
RewriteCond %{HTTP_REFERER} !^http://.+\.mydomain.com/ [NC]
RewriteCond %{HTTP_REFERER} !^http://.+\.adultverifier.com/ [NC]
RewriteRule .*[Jj][Pp][Gg]$|.*[Gg][Ii][Ff]$
http://www.mydomain.com/forbidden.html-
yeah?
I think there may be two problems.
First, putting RewriteEngine on twice might have confused it.
You probably only need it once. Have a go!
The second thing is that I don't understand your .htaccess file! It's just really confusing!
From what I can see, it makes it so that if the referrer isn't from your domain, or adult verifier, it replaces it with nothing, which is strange...
Perhaps something like this is what you need:
RewriteEngine on
RewriteCond %{HTTP_REFERER} !^$
RewriteCond %{HTTP_REFERER} !^http://(www\.)?uglypeople.co.uk/.*$ [NC]
RewriteRule \.(gif|jpg)$
http://www.uglypeople.co.uk/bandwidth.gif [R,L]