My earlier comment on the model got lost (this site seems to do that sometimes with posts that go to a new page).
Overall I think you did an excellent job refining the model. It's not easy combining all these design ideas.
I would strongly recommend sticking with "integer" as the type. Add a domain (or range_of_values) property to limit the size rather than a data type name. Remember, the logical model is supposed to be generic, not tilted toward SQL Server.
For example, rather than "tinyint", use data type = "integer", min value = 0, max value = 255.
Ticket Id will definitely need to be at least an integer (it might even become a bigint on the physical side in SQL Server).
Since CPZ already has an 1 to 3 char alphanumeric code in use in the business, stick to that code to represent it rather than a number.
SQL DBA,SQL Server MVP(07, 08, 09) "Money can't buy you happiness." Maybe so, but it can make your unhappiness a LOT more comfortable!