You are mixing boot scripts, dhcp & ifconfig together.... They all have different information...
If eth0 boots as dhcp, there will be a dhcp server somewhere to talk to, (otherwise it will use it's last good ip allocation.) Best to change the dhcp sever settings to issue the new ip number..
OR, change ifcfg-eth0 to:
then restart the network.
Usually, ifup eth0 will be enough.
ifconfig doesn't save any settings anywhere which is why the net restart wiped the changes you made.