The check I'm using now is vague: user_can( $user->ID, 'subscriber') - I'm not sure if that'll return true for subscribers that may have been given additional capabilities. Also, the "role" check has been described as deprecated by some folks, though I think they are confusing role with the old user_levels paradigm, which is definitely deprecated.
Thing to check - does this method return true for "subscribers" that have additional caps?