I would say newer hardware breaks more software than newer ROMs. Sometimes it's a combination of both. A lot of early software was poorly written and broke from 1.3 to 2.0. Most 2.04+ software works with the latest ROMs though (3.1 or 3.9). I recommend almost everyone to upgrade to 3.1 ROMs.