Ok, the only games that are compatible to each other are Diamond and Pearl. The FireRed version is also, but I'll get into that later. Mystery Dungeon is a game on his own and is only compatible with Mystery Dungeon red for the GBA, but this game is not compatible at all with the other three so lets forget about it.
In Diamond and Pearl you can trade your Pokemon with each game. Pretty much, in game A you capture a Pokemon, for example a Pikachu, and you can transfer him to Game B, but you need a Pokemon to swap with it with. And yes, you can transfer any Pokemon you catch in Diamond annd Pearl with any other Diamond and Pearl. Doesn't matter how rare, or how common.
Now, FireRed works in a different way. After you achieve certain things in FireRed you are allowed to transfer Pokemon to Diamond and Pearl. But these transfers are a ONE WAY transfer only. So, once it leaves FireRed it can't go back, but it can be transfered with any other Diamond and Pearl. You also don't need to trade it with another Pokemon, these are just transfers not trades.
So, in essence only the kids with Diamond and Pearl can trade with each other any Pokemon they have. FireRed can transfer any Pokemon to Diamond or Pearl as a one way transfer. And Pokemon Mystery Dungeon is not compatible at all with the other 3 games.
Hope that helps