Actually, I was mistaken that she wasn't in the "registered users" role ... she is.
I've discovered that the problem is that I had to do a bit of manual removal of portals in the database, since trying to delete them from host | portals gave me errors (object not found) ... I thought (hoped) that some referential integrity in the db would take care of all, but not so. I have a number of user accounts in the aspnet area which I have to remove. And it's not as simple as just finding those that aren't in the dnn users table ... this user, for example, has four entries in aspnet_users as a remnant of early DNN versions.
So - I have to do some careful work to remove them. I think I have figured that the application id in the aspnet_applications is equivalent of the portalid, with the exception that the null portal id in portals would match the 'dotnetnuke' application id in aspnet_applications.
I guess I'll have to find which applicationids exist in aspnet_applications which are orphaned in terms of not matching existing portalids, and then remove all users who, by backtracking joins, are associated with those applicationids.
I'll figure I'll get a cursor going and use the aspnet_users_delete sproc as a template to do it in the correct order.
If anyone has gone before down this path, glad to see any code or listen to any advice.