In Ruby/Sapphire, you have to catch at least 100 Pokemon in the pokedex before you can move pokemon from a different game to your cart. In FireRed/LeafGreen and Emerald you have to unlock the national dex before you can move them. You can always move pokemon from your cart to Box and back to the original save.
I used to have a complete pokedex stored on Box and I would just transfer it to my carts whenever I started a new game. A lot of them ended up getting transferred to diamond, but I'm working on completing the gen 3 pokedex again while I wait for X and Y. Luckily I still have the disc that gets you Jirachi and the e-reader card that gets you the Eon ticket for Latios/Latias.
3DSXL friend code: 0302-1196-7252
Friend Safari: Bibarel, Wartortle and Frogadier
3DS friend code: 2165-5835-0209
Friend Safari: Mienfoo, Throh and Tyrogue
Pokemon X Name: Elena
Pokemon Y Name: Kyle (hasn't beaten League yet)
Currently IV breeding Eevees. I have a couple extra Modest Males with 31/X/31/31/31/31 IVs (Anticipation, Adaptability or Run Away). PM me if you would like to trade a non-English Male with 31/x/31/31/31/31 and Anticipation for an Englsih one.
Also just started breeding Chespins