I am not sure who is in the wrong here
After some effort in deciphering your input, I can't see the point. You were in controlled airspace, weren't you? Isn't the tower controller in charge of her/his airspace, and responsible for all wright and all rong?
Except in case of blatant and proven error on your behalf - and I could find none in your story, though of course that is only one side of the medal - you were not in the wrong. So if anybody was in the wrong, it was the controller. Aren't controllers supposed to provide separation?
[[edit: the one blame you could get was to have reported "downwind" when it would have been "middle of downwind" - I learned that "downwind" with no further detail defaults to "beginning of downwind". But I find that only rarely practised, if ever.]]