1. What happens if I try to send money and input the address incorrectly?
The addresses contain a "checksum" at the end so if the address if you put in an invalid address then that will be detected and no sending will occur. If you put in the *wrong* address (but one that is *valid*) then bad luck - bitcoins are gone (so be careful)!
2. What happens if I try to send money to myself (to an address that belongs to my own wallet)?
No problem to do that at all.
3. I have many receiving addresses saved on my Bitcoin client, what happens if I delete one? Can I still receive money on this address?
I don't think the client actually has any way to delete an address but if you were to somehow *lose* the private key to an address you would effectively no longer own that address (and likely nor would anyone else).
4. How many unique addresses can a wallet generate? How to make sure the address is unique if they're generated randomly (I assume)?
A very huge number - so big that the chance of any collision (or *birthday*) is probably less likely than our entire universe being a computer simulation.
5. How can I generate a couple thousand different addresses? Is there an easy way to do so?
Just change the "keypool=<n>" setting in bitcoin.conf to 2000 (and restart the client).
6. I can check whether an address received a payment simply by using the BlockExplorer, correct?
Yes - and also http://blockchain.info
7. So a way to find out if an order was paid is to keep checking the BlockExplorer for the corresponding address for a certain period of time, say 15 minutes that would be the expiration for that order. But what if I had a huge amount of orders/addresses to check, is there a less bandwidth consuming way to check whether an order has been paid? I'm not interested on 3rd party services at this point such as Bitpay.
Not sure why you would want to use a 3rd party to be doing this as the client itself will tell you when you each tx is received automatically (so no need to use a website or service for that).