When I use iMessage the receiver always gets it via email and not phone number
The only tried and true manner I've found to resolve this is to force Apple's activation servers to see the phone as a new device. The push notification servers have clearly "hung on" to what it thinks is the correct iMessage information despite your efforts to correct this.

To accomplish this, you'll need to be really careful about keeping a good backup since you will have to erase your phone and set it up as new. I recommend making an iCloud backup, then making a local backup to iTunes. If you are really paranoid, back up your PC/Mac at this point and have two copies of the iTunes backup. I would turn odd iMessage and power down the phone and then make a backup once it starts with no iMessage on the phone just in case the iMessage settings could get restored after you perform this erase operation.

Now you will need to be sure your phone receives SMS messages. Your carrier should double check that your account has SMS enabled. At this point, you may want to be sure you are not jailbroken or other thing that could get messed up if it's not stored in your normal backup procedure.


From the settings app, go to General, and then Reset and finally Erase All Content and Settings
When the device gets past all the red warning messages, it will trash it's internal APNS tokens (Apple Push Notification Service) and get ready to be set up as a new device or from a backup.
Do not enter your Apple ID when the device restores. You should skip everything and not enter any data into the phone. Don't set up email, iCloud or anything else.
Do test sending a SMS and receiving a SMS.
Then go to iMessage and enable it - not with an Apple ID, but with your phone number.
At this point you can test the iMessage and ensure it works.


Once you have verified things are fine, you can now choose to start setting up the phone and not restore your backup. This might be the best option if you don't have lots of third party apps that have extensive data. If you do want to restore your backup, you can connect it to iTunes ensuring you don't initiate a new backup to cover the old one or use iCloud to restore your cloud backup.

Hopefully this will clear the iMessage settings and restore things to the way you hope it will work.