3
What to do about them? Ignore them.
1. I think there's a bug with phpMyAdmin. Extra columns aren't recognised when the index begins with the same field as the primary key. In other words, 'banner', 'prv_msgs', 'users' (same primary key/index) are correct despite what phpMyAdmin says.
2. Some indexes aren't needed, so if you want you can safely delete them. Not much point though in my opinion, as the indexes don't even seem to be used.
Anyway, if you want to cleanup your database indexes:
'new_blocks' doesn't need the 'mid' index.
'prv_msgs' doesn't need the 'to_user' index.
'ranks' doesn't need the 'rank_min' index.
'users' doesn't need the 'uname' index.
I don't have smartfaq so can't give any comment on that.
Personally, I'd ignore the 'warnings' - unless I had a very large database, in which case I'd be optimising the queries first, forcing them to use a particular index. As it is, the extra indexes do no harm so I wouldn't bother about them.