I wouldn't do it this way. When doing custom discounts from a database I'd use a single rule in the cart to discount the amount based on a session variable.
Then just use custom code to check the database and set the session variable value on the cart page to the correct discount amount.
Honestly this is a bit too complex for me to get my head around without being in the code and doing some discussions. I think we should do a premier support ticket to sort this out to save us both some headache.