I don't think the Cobalt engine was "de-stroked" to two liter, because originaly, it's a european engine. 2.4 liter 4 cylinders, is not something you see very often in Europe, so I do not think the Ecotec was designed with this displacement in mind.
I think it's the case of the engine being "stroked" to 2.4 rather than "de-stroked" to 2.0l to give the american version more low down torque, and I suspect to give it more punch in the marketing department (a 2.0l ecotec would have done the same job, but perception would have been "it went from 2.2 to 2.0, so it's cheaper/slower"). Marketing is one weird way of designing, but a very essential one.
As was said elsewhere on MR, the 2.0l in the SS is also very significantly different from the 2.4 in various areas (all internals a beefier, cylinder head is different etc. etc.). It was not just a matter of it being "de-stroked".
As for the H engine being destroked to race, I do not know the definite answer, but maybe it was deemed that it would be more reliable or have more potential than a stroked B-series for example (the K-series was not available at the time). Also, having a large bore on a race engine is critical, because it allows you to fit much larger valves.
Or perhaps the design of the combustion chamber on the H-series was more efficient? I'm no expert on Honda engines... Does the H-engine use rockers like the B-series? If not, than that is another advantage - less valve train mass.