Si la gba podia cargar juegos de gbc es porque era una gbc. Me explico: si abrimos una gba, veremos que ademas de sus chips propios (arm7 y tal), tiene los de la gbc (z80 y tal), o sea, dos consolas en una. Si metemos un cartucho de gba, se activaran sus circuitos, y si metemos uno de gb/gbc se activaran los suyos. Por eso cuando grabamos roms de gbc en un flash de gba, estos no funcionan (ya que la consola activa el arm en lugar del z80). La scene intento emular la gbc accediendo al z80, pero fue imposible.
Si la DS es incompatible con gbc es porque han decidido quitarle el z80 y no encarecer el producto (aunque no se si sera muy caro hoy en dia). Podrian haberlo implementado mediante emulacion, pero no lo han visto viable, aunque no se porque.