Thick client messagebox appears on the machine where the code is running. What would happen if you didn't get the error is that a messagebox would appear on the server console in your server room and your program would stop processing; to the user, it would appear crashed.
You don't want that.
Fortunately Microsoft, like a kind parent, knows that as well, and when it detects a messagebox being used in an ASP program, it blows up. Think of it as a timeout for playing in the street.
But a step up from that:
Messageboxes are the worst for the user. Avoid them at all costs. They suck.
Seriously. EVERY newbie programmer misses on this; learn early, whether you're in thick client or web. They stop the users in their tracks, they have no choice but to click OK. That's why they only pop up for spam pages and obnoxious ad sites. Because those suck, too. And they mean to annoy you.
Do you mean to annoy your users? When not go back to MS-Basic on an IBM-PC or AT, and just your INPUT statements all in a row. That will only give the user one thing to do, to. Real GUIs avoid that and let the user decide where to click - even when the users has just screwed up.
You want to correct your users' errors with a red message by the error'd field, and/or a very obvious warning box right where the data entry area would be (shifting the data entry area down).
You could have a normally blank hidden field in ASP, only put a message in it that you want to show in a messagebox, and have client-side code check for a value and pop up a messagebox. But you are probably creative enough to solve a problem without messageboxes though.
the reason you don't see them a lot is because they suck, they make your website suck, and you don't need them. And modern web designers know this.
Have a hidden panel in your webform specifically designed for error messages or important messages. Show it when you would normally show a messagebox. And/or use the built-in webforms validation tools. Or just show the entire message on a page by itself
There are other right ways to do this, too; some availabe libraries even put a message-box-looking fake box up over the webpage like a rollover ad (note my comparison: this method is obnoxious too as it constrains the user).
Sorry for the tone of this answer. It is meant to drive home the point that too many programmers take too long to learn for themselves:
MESSAGEBOXES SUCK!