PRAYING!!!!Hopefully next week's Beta 4 resolves this issue...
Will pay $100 to whoever has a fix for this without deleting all my message history.
Ok, like you guys I tried everything. Restart. Reboot. Close the app. Remove notifications. None of that crap worked.
Finally what I did was remove all the messages that were associated with the person that I believed is when it happened. So I did a search for that contact. I deleted all group messages, individual messages and anything that even mentioned this persons name.
That worked. It cleared out the notification.
Hope that helps!
Select a message thread where you can scroll all the way up and select "Load Earlier Messages"
Then scroll up again and delete 2 messages, one that was sent and one that was recieved.
This did it for me...and I had 15 unread messages on my badge prior.
Hope it works for you too!
I had this, the problem was to do with iMessage. When I updated to iOS7, it created a new @icloud.com email address for iCloud. iMessage was automatically set to be sent via this path.
Go to:
Settings > Messages > Send & Receive and see what options are checked. I unchecked the @icloud path and iMessages are being sent via my original path once again.
The unread messages badge was still showing so I deleted the text messages I suspected were causing the problem and it worked.