@Rowdytavern
About the best I can do at this point is this.
Open the descr_campaign_db.xml file in C:\Program Files (x86)\SEGA\Medieval II Total War\mods\kingdoms_grand_campaign_mod\data [this is the default directory] using your text editor.
Locate this section of code using your find function or by scrolling down until you locate it:
Code:
<settlement>
<sack_money_modifier float = "0.4"/>
<exterminate_money_modifier float = "0.5"/>
<chiv_spf_modifier float = "1.0"/>
<chiv_sof_modifier float = "1.0"/>
<dread_sof_modifier float = "-1.0"/>
<piety_cor_sif_modifier float = "1.0"/>
<piety_admin_sif_modifier float = "1.0"/>
<port_to_port_mp_min float = "100.0"/>
<heresy_unrest_modifier float = "30.0"/>
<religion_unrest_modifier float = "20.0"/>
<siege_gear_required_for_city_level string = "huge_city"/>
<siege_gear_required_for_castle_level string = "moat_and_bailey"/>
<no_towers_only_for_city_level string = "huge_city"/>
<no_towers_only_for_castle_level string = "moat_and_bailey"/>
<min_turn_keep_rebel_garrison int = "999"/>
<destroy_empty_forts bool = "false"/>
<can_build_forts bool = "true"/>
<fort_fortification_level string = "1"/>
<games_races_cost_modifier float = "0.25"/><!--games and races cost modifier -->
</settlement>
Change the line in red to:
<destroy_empty_forts bool = "true"/>
Then save your changes.
This should remove the fort if it has no garrison. I have not tried this in a campaign so I cannot tell you how long it takes for the fort to be removed or if this is save game compatible.
Hope this helps you.