First Display the email address in big red letters on the confirmation screen so the user will surely see it mistyped and correct it by going back. This is a quick hack that requires very little change to code. Unfortunaly you still get those people that are internet illiterate and barely use email. My friend who runs and internet company had this problem. There is nothing you can do except to manualy check unactivated accounts and possibly guess what the spelling error is. You can even Im them if they provided that.
Second do not require email activation. Unless your website is designed to be specificaly for annonymity like mp3 downloading (just hypothetical) I dont think that you would want anyone signing up anyway without a valid email account. Some people are that boared and will make fake accounts. The quality of your comunity goes down if people are making bunch of different account for themselves in order to have multiple identities or they might never come to your site again after signing up.
What would be real cool if there was a admin setting like 1-require email activation 2-activate immediatly 3-activate manualy by admins. That requires a bit of a redesign to the system and it would be up to the developers of XOOPS to decide if they want to put effort into that. Most communities would choose you to have a valid email.