Sfortunatamente, devi ripulire manualmente le migrazioni non riuscite per MySQL. MySQL non supporta le modifiche alla definizione del database transazionale.
Rails 2.2 include migrazioni transazionali per PostgreSQL. Rails 2.3 include migrazioni transazionali per SQLite.
Questo non ti aiuta davvero per il tuo problema in questo momento, ma se hai una scelta di database su progetti futuri, ti consiglio di usarne uno con supporto per DDL transazionale perché rende le migrazioni molto più piacevoli.
Aggiornamento:questo è ancora vero nel 2017, su Rails 4.2.7 e MySQL 5.7, riportato da Alejandro Babio in un'altra risposta qui.