dsiders: Thank you for the tip! I renamed the property NewInstance to NewInstanceVal (alongside the attribute and the setter), and the problem went away.
By the way, when you stated I needed to override the create constructor, you didn't mean it as in override and virtual, did you? As far as I know, the create constructor of TObject is not virtual, is it not?