A、因镁原子变为镁离子时要失去电子,电子层数不同,故A错误;B、因质子在原子核内,电子在核外,当镁原子变为离子,变化的只是核外的电子数,质子数不变,故B正确;C、因镁原子变为镁离子时要失去电子,则镁原子和镁离子的电子数不同,故C错误;D、因镁原子变为镁离子时要失去2个电子,所以镁原子变成离子最外层电子数一定发生变化,故D错误.故选B.