You seen hellbent on sending this letter, regardless of what anyone on here says.
It is going to depend on what you say. If it along the lines of 'I am not happy you wrote a mediocre reference rather than a glowing reference for me 10 years ago' then fine. It does not seem that is what you want to say.
If you go into the realms of accusing the person and not being factual (i.e. you were a terrible person, you were a bully, you are a nasty person) then you could end up bordering on defamation.
It seems you are conflating two issues - a reference that you do not think was good enough 10 years ago and how you were treated in that job. The reference may have been mediocre, but you still got the job and I can understand that it may sting if you have only found out about it now, but it is 10 years and in all likelihood the person has forgotten both what they wrote and who you even are so the letter will mean nothing and either become a laughing piece or just thrown in the bin.
It seems to be you are linking the reference to how you were treated and if you had grievances in that employment you should have raised them then. No employers should not treat staff badly, but it was your responsibility, if there was an issue, to raise it then, not to wait 10 years and raise a complaint as you have no idea what that person is like now. It is the waiting 10 years to tell a former employer that they treat staff badly that is odd.
You need to think hard about what you want out of it. If you want to send a letter to say you are not happy that 10 years they sent what you think to be an unfair reference then fine, but telling them that and that they are bad employers will have no impact and you will not get any of the satisfaction you are expecting as the letter will just be binned and laughed at after all this time.