Is there a way to permanently disable mobile internet on Android 4.0.4 so that I don't get charged even if I accidentally enable it I use Android 4.0.4 (ICS).
The problem is that sometimes mobile internet (not Wifi) accidentally gets enabled
(i.e. the notifications window gets pulled down and the "Data" button gets pressed).
Then, any of the apps I use, be it gmail, twitter, instagram, viber, etc might connect to the internet, so I get charged for mobile internet usage

So, is there a way to permanently disable mobile internet
so that I don't get charged even if it's accidentally enabled?

I've tried making a new APN account in
Settings | More... | Mobile Networks | Access Point Names
with all it's settings empty (i.e. I just set a name to it, and making it active)
but I'm not sure if that's enough.

Is it a solution to manually "set mobile data limit" to zero?
(Can I do that? I'm asking because that setting only appears after you enable mobile internet, and I don't want to do that because I would get charged)

Or is there another way?
Sadly, the Mobile Data Manager on Android only lets you set a minimum of 5MB until it cuts you off, so that won't work for you. A quick search through the Play Store reveals a lot of apps that let you conveniently toggle that setting (which is not what you're looking for), or apps that claim to be able to but have lots of users saying it doesn't work (and I assume you'll want this to work the first time, all the time).

A more sure-fire solution would be to contact your wireless service carrier and have them disable the data on their end. You can't get charged if they never let you use it, even if the feature is turned on. However, it can only be enabled by another phone call, and services like MMS depend on that data (even though you may not get charged for it - refer to your  personal wireless plan details for that).