.mo translation strings not loading in PHP scripts that handle AJAX calls

I think you just need to load the translations earlier to make them available for ajax hooks:

add_action( 'plugins_loaded', 'myplugin_load_textdomain' );
function myplugin_load_textdomain() {
    load_plugin_textdomain( 'myplugin', false, basename( dirname( __FILE__ ) ) . '/languages' ); 
}