Si hablas de un intercambio corriente (al estilo cable link o wireless), lo que necesitas son dos GBA y una flashcart para GBA, cable link o 2 dispositivos wireless, además de tu cartucho original, con eso podrías cambiarlos del flashcard al original. Las partidas guardadas que tengas en el ordenador las transfieres al flashcard y listo.
Eso sí, con un flashcart directamente puedes hacer que esos eventos especiales se activen en el original, para ello usa los gigacódigos de Morfeo del juego que poseas (yo los he probado en emu y funcionan, te pongo el link abajo), y después de ello haces una mezcla de récords entre el flashcard y el cartucho original, a todos los efectos sería como si hubieras conseguido esos eventos legalmente, ya que esos códigos imitan los datos transferidos en los eventos. El problema es que los flashcarts de GBA están descatalogados y es difícil encontrarlos de 2ª mano.
Si tienes DS lite o tocha y una flashcard de DS de slot 1, puedes extraer la partida de tu cartucho original, la corres en el emulador de PC, le activas los eventos con los gigacódigos antes mencionados, y la vuelves a transferir al cartucho original mediante el flashcard de DS.
Estos giga-codigos lo que hacen es darte los tickets de barco necesarios para cada evento y desbloquear el evento correspondiente, por lo que tendrás que coger el barco y capturar a los pokémon legendarios tú mismo, vamos es igual que si lo hubieras conseguido en el evento en su día, y si transfieres esos pokes a los juegos de DS, serán completamente legales en torneos y en el GTS. Además de activar los eventos en la partida del pc, también habilita que puedas transferir esos eventos a otros juegos mediante mezcla de récords.
Yo te aconsejaría la mezcla de récords, ya que es el método más "limpio" por así decirlo, pero claro, ya depende de lo que tengas a mano.
http://www.pokexperto.net/foros/index.php?topic=36806.0