CADad,
I don't know if there is enough information to make the call. You obviously saw it all, so I'll just ask the questions.
On the throw to third, was it a good throw that was there in time and missed or better said, would the runner have been out by ordinary effort by the third baseman. If yes, then assume that was an out for the purposes of reconstructing the inning. If no (catcher made bad throw to third), then assume when reconstructing the inning that there is a runner at third and no run at that point.
Next batter doubles, if runner was at third (by your estimation) then he scores and is earned.
On the next play the same logic needs to be applied. You could assume ground ball behind runner that SS takes closer to second. Runner at second, reading ball behind him, breaks for third and simply never stops. Good throw to first, good relay to home, runner safe. Assuming my reconstruction is correct, both runs are earned.
Too many variables to give the total answer from Gilbert (also my judgement is impaired when the temperature gets above 105):
If first baseman makes some kind of error after the out or ordinary effort would've led to the R2 being thrown out at home, third baseman should've made play with ordinary effort on the steal or in the off case, the jump by the runner at second is so bad that the catcher can double clutch or starts a run down and throws it away, then the stolen base isn't earned and you can assume the out at third would've made with ordinary effort.
In any of these cases, you have to have an error that would've resulted in an out or the winning run wouldn't have scored unless the error was made (walk off) to have an unearned run.