allow only lowercase user registrations

The filter validate_username sends and expects a boolean value, not a string.

Hook into sanitize_user and use mb_strtolower().

Sample code, not tested:

add_filter( 'sanitize_user', 'wpse_83689_lower_case_user_name' );

function wpse_83689_lower_case_user_name( $name )
{
    // might be turned off
    if ( function_exists( 'mb_strtolower' ) )
        return mb_strtolower( $name );

    return strtolower( $name );
}