Tendrías que coger un ROM limpio, sin modificar, abrirlo con un editor hexadecimal y mirar poco a poco qué cambios hiciste en el otro hasta dar con el sitio donde se corrompieron los datos.
En cuanto a lo de saber los offsets sensibles, esto es un poco complicado, pero puedes saber si están ocupados si los abres con un editor hexadecimal (los espacios libres suelen estar plagados de FF, y en Emerald hay muchos espacios con 00, pero yo tendría mucho cuidado).