The に doesn't really mean 'because' there. It's just the particle the verb あきれる takes. You're making the mistake of trying to parse beyond sentence boundaries.
The basic structure of the sentence is that there are two clauses, which are joined by the て form.
Shocked by (someone's) overly harsh words
I was at a loss for words
The て form when joining two sentences sometimes implies reason: 「明るくて、眠れない」 it's so bright that I can't sleep
And it is the て form joining the two sentences that carries the connotation of 'because'.
I was so shocked by [his] excessive harshness that I couldn't speak
By the way, ××にあきれて、ものが言えない returns quite a few results on a web search and seems to be somewhat of a fixed phrase. Here's a sample from 研究社 新和英中辞典
His stupidity really staggers me.