What is stopping me from modifying the Counterparty installation on my system to provide all of the same functionality without burning XCP?
The network effect. It would be a one person party that's implementing updates from the real dev team.

I'm still not clear on this. Let's say I'm a company that wants to create an interface for smart contracts. Why can't I modify the counterpartyd instance running on my server to execute smart contracts without burning XCP?