You screwed yourself.
If your Cancel was not acknowledged properly why the hell did you submit another order? Especially as the trade was in the money and there was no reason to panic. You should have waited for the acknowledgement.
By submitting a second order you risked a double fill, and that is exactly what happened.
I admit I remember doing the very same thing but it was years ago when platforms weren't what they are now.