The Linux Administration group is for the discussion of technical issues technical issues that arise during the administration of Linux systems, including maintaining the operating system and supporting end-user applications.

see example for lo:
DEVICE=lo
IPADDR=127.0.0.1
NETMASK=255.0.0.0
NETWORK=127.0.0.0
# If you're having problems with gated making 127.0.0.0/8 a martian,
# you can change this to something else (255.255.255.255, for example)
BROADCAST=127.255.255.255
ONBOOT=yes
NAME=loopback

NetworkManager (GUI or CL) works fine on RHEL/CentOS/ScientificLinux 6.
Manual edits to ifcfg-xxx files are definitely the way to go for more complex setups (bonding).

The challenge for many in moving to "6.1 or greater" is the new Consistent Network Device Naming scheme.
Ports may now be defined as enX or pciX, rather than familiar ethX. Default rules in /etc/udev can be altered, but new method is really preferred with hosts with multiple Ethernet ports

I still strongly suspect "NetworkManager" as the primary suspect here.
To confirm:
Look at the contents of /etc/sysconfig/network-scripts/ifcfg-eth0. If there is a line that reads NM_CONTROLLED="yes", then this interface is controlled by NetworkManager.
So if you are indeed running NetworkManager, there's a couple of options:
1) Configure the interface through NetworkManager. Verify the ifcfg-eth0 file contents afterwards.
2) Disable NetworkManager, and manually configure your interfaces.
BTW: I am not sure what happens if you are indeed running NetworkManager, but the NM_CONTROLLED line is either missing, or set to "no".

You don't need to reboot to test it.
Do you lose your IP when you "/sbin/service network restart" ?

Try comment out the mac address define in the if-eth0 (or file that reference to the ethernet that you are using in directory /etc/sysconfig/network-scripts
The MAC might not be correct and the reboot create a new file which it did not contained your configure info.