If item is referenced or used in any structure (assembly), you will not be able to delete it until you remove the references where it is used. Not sure about it with DBA role.
I assume you've used POM_referencers_of_instance ITK function before ITEM_delete_item. what are the referenced classes listed by POM_referencers_of_instance?
you can check referenced item in My Teamcenter as Analysis tab by double clicking on the item and find out in which assembly it is used, once you removed the reference from that structure or assembly, then you can delete an item from TC.
Select the item revision and check "where referenced" in Impact Analysis tab for all level,
and then you delete those references, after that you can delete that Item easily.
Hope this will help you,
Be careful how you word your solution/suggestion...
".....then you delete those references....."
You don't want to delete those references, you would need to delete how the item is referenced (as appropriate):
Programatically you would use WSOM_where_referenced function and then loop through those references and "clean" those references as appropriate.