It's very unlikely that the emails are not being sent. Most likely, the emails are getting flagged as spam. Sometimes that happens in a way that the user can see (such as diversion to the spam folder), but sometimes it can happen a bit further up the chain, eg by the email provider, so that the user would have no way of knowing that an email was diverted.
If I have the email address of the user, it's possible for me to check the database to ensure that the user has actually registered. it's not really possible to do this from the WP Dashboard, as registered-but-not-activated users are in a sort of ontological limbo, not really existing in the wp_users table. It's also possible for me to get the user's activation key or to manually activate the account.
If this is happening fairly regularly, there are a couple things we might consider doing:
1) Checking with André to make sure that the Commons mailserver is configured correctly. There are certain aspects of mailserver configuration that ISPs look at when they're looking for spam, and it's be good to make sure we have them set correctly.
2) Changing the content of the activation email that gets sent to users. I think we're using the default BP/WP text, which is generic enough that it might be contributing to being marked as spam.
3) Putting some development effort toward building a tool for triaging this sort of situation. As I said, the WP backend has no interface for seeing failed signups. It wouldn't be too hard to build one, though, so that admins could see at a glance whether a user's registration has gone through, to resend activation emails, and to manually activate accounts if necessary.
My own feeling is that all three of these avenues are worth pursuing. Matt, if you agree, I encourage you to open tickets.
If it turns out that the user didn't correctly complete the registration process, then the email never would have sent. But that's something I can only check via directly querying the database, as described above.