avoiding the display of certain categories to certain user roles at content entry time

It uses get_terms and wp_get_object_terms internally to get the categories. You can achieve what you want using a filter associated with these functions.

<?php
//$args = apply_filters( 'get_terms_args', $args, $taxonomies );
add_filter('get_terms_args', 'wpse53900_filter_cat');
function wpse53900_filter_cat($args, $taxonomies){
    //this is where you can check the taxonomies and roles to filter out the ones you want
    //additionally, make sure to add a check here so that your code runs only on the post edit/add screens
}

Should give you an idea! 😉