Well, it started when I couldn't delete from ec_user_classes and ec_user_class_user_map inside Tcl scripts, that seemed to work perfectly OK, (except for not deleting). Then I started checking things in Postgres. AFAIK there are no constraints referencing the latter table. I had the same problem with ec_sale_prices (I mostly work on the ecommerce module).
The ec_user_classes is referenced only from within ec_user_class_user_map and it references users, while ec_user_class_user_map references ec_user_classes and users, while not being referenced by another table. Almost the same for ec_sale prices.
If you can, please check this operations on your installation and report if it works.