They have the same problems as teriforming. The upgrade/worker action works on improvements only. This means that you get an improvement but what you need is a feature. I thought I had the Python set up so that onImprovement built caused the improvement to be replaced by the feature.
I did that work ages ago based on work by ModifiedA4's mod. Perhaps I need to look at it again now that I know more. I may have been trying to do too much in the one bit of code and it is interferring with the dll stuff on upgrades.