You simply MUST beat the elite 4 on diamond first. It's the only way. However, you do not have to beat the elite 4 on the GBA game.
You also need to beat the Elite 4 in Fire Red, and recover the Ruby and Sapphire.
Can't. UNLESS,you used a Action Replay. (AR)