a) is correct, balanced and includes states. Well done.
b) First one is: Mg(s) ---> Mg[2+](aq) +2e[-] [OXIDATION - Loss of Electron(s)]
Second one is: 2H[+](aq) + 2e[-] ---> H2(g) [REDUCTION - Gain of Electron(s)]
It is clear there has been a transfer of electrons - Mg, which usually has 2 outer-shell electrons must lose these two, in order to form an ionic bond with the Cl[-], while at the same time 2H[+] (which is just a proton {and possible a neutron or two, depending on the isotope - but this is irrelevant - the main thing to note is that this species has NO Electron}) has become H2(g), which has a covalent bond, and the molecule has a total of 2 electrons - The 2 electrons lost by the Mg must have been trasnferred here.
c) We just take the equation in (a) and split up into ions where possible, so:
Mg(s) + 2H[+](aq) + 2Cl[-](aq) -> Mg[2+](aq) + 2Cl[-](aq) +H2(g)
Clearly the Cl[-] is a spectator ion, as it is the same on the left and right hand sides - i.e. it is still in the same ionic form - nothing has really changed, it just changed from being ionic-ly bonded to H[+] to being ionic-ly bonded with Mg[2+], whereas all other species have changed into/from ions.
d) For the net ionic equation, we just take our equation in (c) and remove the spectator ion(s):
Mg(s) + 2H[+](aq) ---> Mg[2+](aq) + H2(g)
A word on my notation: i have used square brackets to denote what should be in superscript (the charge on the atom).
If still confused, refer to:
http://en.wikipedia.org/wiki/Chemical_equation#Ionic_equations.