I recently came across a SAP EM Implementation with one of my clients, where they had SAP EM implemented by a very well-known consulting company but they clearly didn't understand SAP EM and especially how to leverage it's functionality within the design of the solution.
I have highlighted a couple of the key issues they are facing today due to a poor design:
One EH having Multiple Values for the same TRACKING ID CODE SET - which is causing incorrect events being posted on EH's
Tracking ID's without Start Date & End Date - due to which Events posted in the past get re-triggered for EH's created in Future with same Tracking ID, causing data inconsistencies
All Task Logging switched on, causing billion+ entries in EH_TASK, forcing the client to do Partitioning in the database to handle the table size.
BAPI COMMIT being used inside the RULE SET causing data inconsistencies and short dumps
Event Generation within the Rule Sets causing short dumps
No Queuing process followed and hence the same EH is called multiple times at the same moment causing data inconsistencies
Archiving was never considered in the design so now there is no good way to "kill" an EH
BOBJ queries are hitting the production SAP EM database and often bring the solution to a grinding halt
Please feel free to comment on other issues that you have seen in your implementations.