Thank you for publishing these.  Solution 1 is very good because it displays user friendly messages.  In my view solution 2 needs to be slightly modified to make it more elegant.  Instead of not allowing the Active state, I wuold go for creating a new initial state with a name like "New Work Item Type creation is not allowed" and put it ahead of the Active state.  This would also allow users to change an existing work item type back to Active when needed, while creating a new one would provide a better message than Active is not in the supported values.