A、氢氧化钠加入能使铁离子和镁离子都生成沉淀,同时引入了钠离子杂质离子,故A错误;B、加入一水合氨使铁离子和镁离子都生成沉淀,同时引入了铵根杂质离子,故B错误;C、加入MgCl2不能使铁离子转化为沉淀,故C错误;D、在加热条件下加入MgCO3 与酸及铁离子水解生成生成的氢离子反应,会促进水解反应的正向进行,铁离子转化为氢氧化铁沉淀,使铁离子沉淀完全,且碳酸镁是不溶于固体,不会带来新的杂质,也不会过量,最后加适量盐酸是为了除去可能过量的MgCO3,故D正确;故选D.