This issue keeps coming up in forums and discussion lists. In V1, there isn't a way exposed to delete workitems. Richard Berg pointed out a workaround that I hadn't thought of before: Denying permission to everyone for those workitems will achieve same effect as deleting workitems (assuming diskspace is not an issue). An easy way to do it is to create a "Deleted" area path node with Deny access to everyone (TFS Valid users) for Viewing and editing workitems in that node. Now those workitems will not show up in queries and trying to view it will give an error. A large number of workitems can be moved to such node "en masse" by exporting to excel and changing area path.
Another common suggestion given out is to have a "deleted" state for the workitemtypes and moved the workitem to that state. This however means they will show up in queries etc.
Why don't we have this feature? Steve in our team pointed out that it is because of Sarbanes-Oxley compliance (what is that? here is some info). Basically for auditing purpose we do not want to destroy data. However, if the project itself is deleted, all work item data is deleted - that is the only way for now to delete workitems.
How about deleting fields to remove that data? Seems like it will delete field data, but actually that data is archieved somewhere for auditing purpose even when field gets deleted physically. So if you made a bad comment in a field, there isn't really an easy way to remove that data, good for those who want data to be auditable, bad for you 🙂
On the other hand, we hear that lots of unnecessary data gets collected because these could be any workitems, and I believe this will be revisited for future. Probably archieving or admin-only delete for specific workitemtypes might be few options.
When users badly need to delete the workitem data, many have come up with sql scripts to basically delete workitems from all workitem related tables, but I would like to point them this post on issues with modifying database directly: https://blogs.msdn.com/buckh/archive/2006/03/18/554563.aspx - Also, no support is available when such direct database modification is done.
Update on 6/5/2007: We hear customer feedback and we are working on a powertool to enable deleting of work items.
Update on 9/12/2007: We built backend work in Orcas release of VS such that we could release a powertool to support deletion of workitem instances and workitem type itself. So this looks more promising.