Instead of trading you can migrate your pokemon
Once you beat the game once, you will have the option to go to a place called the pal park. There you can transfer pokemon from your emerald to your diamond. Here all the following instructions on what to do.
YOU MUST HAVE A DS OR DS LITE TO DO THIS. DSI AND 3DS DO NOT WORK
Put pokemon emerald in your gameboy slot.
On the main menu after beating the game there is an option to transfer pokemon
Choose up to six pokemon to transfer to your diamond
Go to pal park
Catch your pokemon
YOU CANNOT GET YOUR POKEMON BACK ONCE YOU TRANSFER THEM TO DIAMOND
And for your second question, there is shinies in all the generations except for generation one. (red and blue maybe yellow)