you also have another thread on this same subject that touches on many of the points you raise here.
Please limit yourself to one thread on the subject to limit confusion on the matter.
the coupon system was implemented as a means of offering discounts.
You are correct that any one discount can be applied at any given time.
If you would like to suggest other improvements that you would like to see implemented in the coupon code system, please post to the wishlist forum.
In you other thread, you talk about the coupon name showing incorrectly, the power store files out of the box do not have any code in place to show the coupon name at all. If you see my replay there, i give you code changes to implement to get the coupon code showing in all of the order detail pages as well as the order receipt. I think the issue you are having with the coupon name not showing correctly are coming from changes you have made to get the name showing, the changes i suggest in the other thread do the trick for showing the correct coupon code.
To address your next point on the coupons not being deleted from the coupon table: If they are deleted from the coupon table, the order history pages will not be able to show the coupon used or the discount amount. That information can only be returned if the coupon record is left in the coupon table even though it is not associated with any products.