Hi Michael,
Great post! Okay, I'll do my best, but unfortunately I can't use illustrations like you did since I don't want to exhibit any proprietary info... I'd mock something up, but I don't want to. 
Objects:
The only objects we use are Defects. Currently we don't make use of the Incidents or Tasks. We don't use the Features tab either, since there is currently no consolidated Defects/Features tab, making it difficult to see who's doing what at a glance. So policy dictates that users pretend that that Features doesn't exist for now. :-)
Projects:
Our projects are set up so that the top level of the heirarchy mirrors our CVS (source control) module names. The second level mirrors the names of the .sln("solution") files available within those modules, and the 3rd level mirrors the sub-projects within each solution.
We have also set up special customer project names, with the convention "Customer - [Customer name]" under the name of the solution which they are licensing. They are given access to this branch from the Customer Portal, and it allows us to finely tune what defect items can be accessed by this customer.
Customer Portal:
Testing/evaluation/setup of this feature is still in progress, so it is not yet in use.
Policy:
To establish policy, I made a little video using Camtasia Studio 4 (which I believe is the app AxoSoft uses for thier tutorials). I don't like "Lunch-and-Learn"'s, and neither do our users. Unfortunately, nor do they like watching 13-minute videos! So in order to get them to watch, I had to tell them all that I "trash-talk them" throughout the video. That seemed to do the trick! :-)
We set up our workflow step field templates to be as intuitive as possible to users so that very little policy needed to be established in order for them to use it correctly. We were also very loose with workflow, since our company has a very long-standing tradition of not bottlenecking the development team with too much process (see Workflow section below). However, we did establish the following 3 policies:
1. After a user has completed their action item for a defect, the user *must* select the next appropriate workflow step from the list. This selection must be made *before* any other fields are filled in. This is because the edit fields are dynamically configured and default to values relevent to a selected step; so selecting a new workflow step *after* filling in fields may render the newly entered data irrelevant.
2. If a defect being added was originally reported by a customer, the customer/contact's name must be selected from the "Customer who reported this defect:" field in the Customer Portal tab. This will allow us to sort, group, and filter based on customer and contact names.
3. Stick to the Defects tab for now. Especially don't use Features.
Security Roles:
Currently we have only 4 security roles; Administrator, Developer, Tester, and Project Manager. The Project Manager has most privileges enabled except for Features and Incidents (the latter of which does not even appear as a tab in our GUI thanks to the Setup Wizard configuration). Testers and Developers generally do not have access to any of the management-type features, and cannot assign tasks, etc. Testers cannot view work logs, since it is none of their darned business! :-)
Aside from Admin, no users have access to the Edit Defect feature. This is because I wanted to force all users to edit within the workflow.
Workflow:
Workflow is set up in a very non-restrive non-linear manner such that most users can select most workflow steps from most workflow steps (with a few exceptions which I will explain below). Our company is a small one, without enough employees to fill every single role. Therefore there will often be cases where a user fulfills the duties of a developer, AND a manager, AND a tester on a particular defect. So for example, a developer might find a bug in their own code, assign it to themselves, fix the bug, verify the fix themselves, then mark it closed and check it into source control. While that is not the most ideal scenario, we allow it to be used in extreme cases with the caveat that the privilege can be revoked if not used sparingly.
All of the workflow steps are set up with Force Edit checkbox selected on the Item Edit Template tab, so that the user is prompted for the relevant fields for the workflow step they just selected. This takes the guess-work out of which fields need to filled in and when, and by whom.
Also, all of our workflow field templates are modified copies of the workflow template that preceeded it. This means that each subsequently selected step retains all of the visible fields and required fields of the preceeding step (with a few exceptions). Doing this makes it so that if a user skips a bunch of steps in the workflow, no fields are missed; the user is still prompted for all the fields that were required many steps back, and cannot use workflow step skipping as a "loophole" to avoid entering data.
The workflow steps drive certain fields; for instance, the Status field is automatically changed every time a new workflow step is selected. Also, the Assigned To field is automatically changed to the relevant user whenever possible. When a step is selected where one of these fields needs to be changed by a user (rather than being defaulted to a value), the field is changed to Blank, and I make sure to flag this field as Required in the template so that the user cannot close and save without filling it in.
We currently only use one workflow, and it is applied to All Projects. The "Enforce workflow step selection for items" checkbox is selected, and new items are placed into "Bug FOUND=>Needs verification". Moved items are also placed into that step, although we would very much like to see an option that allows moved items to be placed into the step that is currently selected for that item. (Are you listening feature request guys? :-) )
The workflow steps are given names that reflect the action item that was just performed, as well as the required action item. For example..
"Bug fix ATTEMPTED=>Needs verification"
...denotes the action that was just performed (fix attempted), and the action that needs to be performed next (needs verification). Each step has its own template, but for the sake of brevity I won't include the details of each one... sufficed to say they contain Required and Visible fields relevant to that step. We have the following workflow steps, listed in order of selection:
Bug Found=>Needs verification
Step Actions: Date Found is changed to [CURRENT DATE], Status is changed to "Open-Awaiting Verification" (the status field is driven by the workflow step selection), Assigned To is changed to me (the main tester).
Allowed Next Steps: "Bug clarification ATTEMPTED=Needs verification" and "Bug fix attempt FAIDED=>Needs re-visiting" and "Bug RE-OPENED=>Needs re-visiting" cannot be selected by any users, from this step. "Bug Fix IN PROGRESS" and "Bug fix ATTEMPTED=>Needs verification" cannot be selected by the Tester role from this step (it wouldn't make much sense for a tester to be able to select either one of these, so this is done to eleminate confusion)
Bug verification FAILED=>Needs clarification
Step Actions: Status is changed to "Open-Awaiting Clarification", Assigned To is changed to [REQUESTED/REPORTED BY].
Allowed Next Steps: Same as above, only "Bug FOUND=>Needs verification" is also un-selectable from this step.
Bug clarification ATTEMPTED=>Needs Verification
Step Actions: Status is changed to "Open-Awaiting Varification", Assigned To is changed to me (the main tester)
Allowed Next Steps: Same as above
Bug VERIFIED=>Needs to be assigned to Dev.
Step Actions: Status is changed to "Open-Awaiting Assignment", Assigned to is changed to the name of the project manager. Priority is set to Required for this step.
Allowed Next Steps: Same as above, only "Bug verification FAILED=Needs clarification" and "Bug clarification ATTEMPTED=>Needs verification" are also un-selectable.
Bug ASSIGNED=>Needs to be fixed
Step Actions: Priority is changed to [Blank] (it is also set as Required in the field template... this is done so that the project manager is forced to fill this field in. If I didn't blank it out, the PM would not be promted (forced) to change it, and could just as well save & close without changing this field.), Status is changed to "Open-Assigned".
Allowed Next Steps: Same as above, only "Bug VERIFIED=>Needs to be assigned" is also un-selectable
Bug fix IN PROGRESS
Step Actions: Status is changed to "Open-Fix In Progress"
Allowed Next Steps: Same as above, only "Bug fix ATTEMPTED=>Needs verification" is also un-selectable
Bug fix ATTEMPTED=>Needs verification
Step Actions: Status is changed to "Open-Awaiting Fix Verification", Assigned To is set to [Blank] (and is also set as Required in the template for this step), Actual Duration is set to [Blank] (and is also set to Required in the template for this step). A custom field called "Fix attempted by:" is required for this step, so that the "Assigned To" field can be free to assign the task of verifying the fix.
Allowed Next Steps: Same as above, only "Bug fix IN PROGRESS" is also un-selectable
Bug fix attempt FAILED=>Needs re-visiting
Step Actions: Status is changed to "Open-Re-Assigned", Assigned To is set to [Blank] (and is also set as Required in the template for this step)
Allowed Next Steps: Same as above, only "Bug fix IN PROGRESS" IS selectable.
Bug FIXED=>Needs to be checked in
Step Actions: Status is changed to "Open-Awaiting Check-in", Assigned To is changed to [Blank] (and set as Required in the template for this step). The Fixed By field is set to Required in the template, and the user is required to copy the custom field "Fix attempted by" to it.
Allowed Next Steps: Only "Bug fix attempt FAILED=>Needs re-visiting" and "Bug Closed" are selectable from this step
Bug CLOSED
Step Actions: Priority is changed to [Blank] (and is no longer Required), Status is changed to [Blank] (and is set as Required and Editable in the template for this step -- this is so that the user can select between various "Closed" options, like "Closed-Not a bug" or "Closed-Fixed", etc.), Assigned To is changed to [Blank].
Allowed Next Steps: Only "Bug RE-OPENED=Needs re-visiting" is selectable from this step.
Bug RE-OPENED=>Needs re-visiting
Step Actions: Status is changed to "Open-Assigned"
Allowed Next Steps: Same settings as the "Bug ASSIGNED=>Needs to be fixed" step
Notifications and Alerts:
I've set up Workflow Step Notifications to be sent to [REQUESTED/REPORTED BY], and either [ASSIGNED TO] or [LAST UPDATED BY] (depending on the step selected), and our project manager. I've also set up Global Notifications to go to [REQUESTED/REPORTED BY], [ASSIGNED TO], and [LAST UPDATED BY] whenever a defect is changed.
I've set up an Alert to monitor whether users are actually advancing the workflow step. This Alert is sent to me whenever a user has modified fields for a bug without changing the workflow step. This was originally sent out to [LAST UPDATED BY] with the email header "Defect Id 50 raised Alert :Workflow Step Wasn't Advanced! (Just a reminder in case you meant to but forgot :-) )", but users found it annoying since there were often cases where it was necessary to update fields without advancing the workflow step. I was nearly lynched. So now it only goes to me.
I would love to create an Alert that's a "timed reminder" so that users in the Assigned To field will receive an alert [every x [amount of time]] while [condition a] is not met. Currently this functionality is unavailable.
Public Filters:
I've got "All My Defects", "All My Open Defects", and "All Open Defects". I haven't come accross any need for others, although if there were an ability to create one called "All Open Defects as of [a dynamic or static time/date, e.g. Last Week, or March 31 2007]", I might do that. Currently this functionality is unavailable.
That's all I can think of for now.