Just this code:
function enable_shortcodes_on_geo_listings($html, $variables_array=array()){
return apply_filters('the_content', $html);
}
add_filter('geodir_show_geodir_testing_html','enable_shortcodes_on_geo_listings',10,2);
add_filter('geodir_show_geodir_shortcodes','enable_shortcodes_on_geo_listings',10,2);
add_filter('geodir_show_geodir_special_offers','enable_shortcodes_on_geo_listings',10,2);
add_filter('gd_special_offers_content','enable_shortcodes_on_geo_listings',10,1);
This line makes the special offers tab work
add_filter('gd_special_offers_content','enable_shortcodes_on_geo_listings',10,1);
this line
add_filter('geodir_show_geodir_shortcodes','enable_shortcodes_on_geo_listings',10,2);
you had the wrong htmlvar name, you had geodir_show_geodir_html_shortcodes instead of geodir_show_geodir_shortcodes.
The theme update should not affect it.
Stiofan