Jag är själv programvaruutvecklare med erfarenhet av att porta program mellan olika arkitekturer. Det du säger är rätt, men endast i teorin.
I praktiken är finns det alltid buggar i programmen. Och buggarna kan vara så beskaffade att de bara syns på den ena plattformen, medans de inte har någon effekt på den andra. En skillnad är att x86 är little-endian och PPC är big-endian. Ett program som (felaktigt, detta är en bug) råkar anta att den minst signifikanta byten i ett ord ligger först i minnet kommer att fungera bra på x86 och krasha på PPC. Jag talar inte om en medveten "optimering" av programmet utan ett vanligt hederligt programmerarmisstag. Andra saker som kan skilja är hur variabler på stacken allokeras med olika kompilatorer (x86 vs PPC) och därför kan programmet verka fungera på ena plattformen och krasha på den andra.
Det enda sättet att faktiskt få programmen att fungera bra på båda plattformarna är att testa på båda. Helst kontinuerligt under utvecklingen. Det räcker inte att bara trycka på en knapp i XCode då man utvecklat klart på sin x86-Mac och trycka ut en PPC-kompilering.
Det här vet nog alla utvecklare om, men jag är rädd att utvecklare i framtiden kommer att slarva med att testa på båda plattformarna. Det kräver mera tid och extra hårdvara, något som kostar om man är liten och har tighta release-planer. Då kan kvaliteten på den ena plattformen bli lidande. Hoppas att jag har fel!