If I add a step to a sequence, that step's type def (and an EditSubstep type def) appear in the Step Types section of the Types window for the sequence file. But if in the sequence I change the Type of the step (in the General panel of the Properties tab for the step), the change doesn't get reflected in the Type window (the original type def is still there). In fact, I can now delete the type definition (which should be legal since it is no longer in use by the sequence) and the EditSubstep type definition, leaving the Step Types section blank.
This seems like a TestStand bug. Everything else seems to behave fine, but is this likely to cause some sort of corruption down the line?
This does appear to be a bug. I will add it to our tracking database.
It's unlikely to cause any problems (which is probably why it's gone unnoticed for so long) because the types involved are also loaded by type palette files so they will still be in the global type list as long as those type palette files are loaded (which is usually for the life of the process). Also, when you save the file, the types that are actually used by the file will get added to the file's type usage list automatically if they weren't there already. You can see this if you save the file after doing what you've said, then go back to the type palette view for the file (NOTE: You will need to select a different file and then re-select the file to force the view to refresh if the file in question was already selected in the type palette's view).
Because a user can programmatically edit a sequence file and might forget to or not know to call TypeUsageList.AddUsedTypes() when adding instances of previously unused types, this is somewhat of an expected case that TestStand tries to handle.
Hope this helps. Let me know if you have any additional questions regarding this.