The only necessary reason for the British to keep Tangiers is having more money - they abandoned it in 1684 for no other reason than they couldn't pay the troops. I think it's reasonable to suggest that if they had got over that brief problem, they could have held Tangiers to the current day. The by-products wouldn't actually be that great however. Britain's control of the Mediterranean would be greater but not much more so because from just after this period it actually pretty much controlled the Mediterranean to a degree anyway. It wouldn't make the British any more likely to keep, say, Minorca or to be any more successful anywhere else because the only thing it would really do is make it a bit harder for foreign nations to get fleets through the Strait of Gibraltar, which they were fairly good at anyway. I can't see it really changing history much, except that in the present day they would likely still own it.
Incidentally, yes I think they would still try to grab Gibraltar in 1704. Control of two sides of the Strait is much better than one.