meta_compare not comparing whole integer

You could try this instead:

$bc_args = array(
    'post_type'      => 'data',
    'data-category'  =>'insurance-rate',
    'order'          => 'DESC',
    'orderby'        => 'meta_value_num',
    'meta_query' => array(
        array(
            'key'     => 'interest_rate',
            'value'   => (int) $i_rate,
            'type'    => 'numeric',
            'compare' => '>='
        ),
    )
);

$sortedPosts = new WP_Query( $bc_args );

where we use the numeric type.

You should also consider using filter_input instead of $_GET:

$i_rate = filter_input( INPUT_GET, 'i_rate', FILTER_SANITIZE_NUMBER_INT );

or the native add_query_var / get_query_var way.

Ps: data-category is not a native parameter in the WP_Query() class.