Dilip,
Depending upon your data and the wavelength you collected it at - can you generate an anomalous difference map? First off - if there is a significant anomalous peak, this will exclude Magnesium at it's K-edge is at ~9.5Å
You could also compare the peak heights of your unknown metal ions with those of identifiable anomalous scatterers, such as well defined CYS or MET Sulphur atoms (again, depending upon the wavelength you collected at), and obtain a rough* value for the f" value of the anomalous scatterers responsible for the peaks. You can then use the data here
http://skuld.bmsc.washington.edu/scatter/ to come up with a list of potential metal ions.
Also, you might check distances from the centre of the peak to the co-ordinating atoms and compare with known co-ordinating distances for metal-ions (see
http://mespeus.bch.ed.ac.uk/tanna/ for target distances).
You could also look at the co-ordination geometry. Chimera has a fantastic tool for doing this (just ctrl-double click on the metal ion and select "co-ordination geometry").
HTH,
Dave
*rough, but better than nothing.