Using init hook for register_taxonomy is causing invalid_taxonomy in wp_insert_term()

You need to insert your term after the init hook (i.e. when the taxonomy is registered):

function create_tax()
{
    $args = array(...);
    register_taxonomy('custom_tax', array('post'), $args);

    // Now we're safe
    $result = wp_insert_term('Test Term', 'custom_tax', array('parent'=>0) ); 
}