I moved my comments to answer, so this question can be shown as having an answer, as it seems solved.
You need to definitively determine if those old rules are causing the problem.
Are the expired rules active?
If so, set them as inactive. This should help determine if they are still being applied.
Also line items in cart will hold a list of applied rule ids.
In the cart output the value of ->getAppliedRuleIds()
to see what rules applied to the item
As per your comment above, deleting those rules fixed the problem.
All good and well, but if I were you I'd do a new test, to determine if this is just an upgrade issue (old rules not working/compatible to site db/code changes), or if you have an underlying issue with your site.
Create a new rule, marked it as expired - test if it also applies.
Mark it as inactive - test if it also applies.
If they do, you need to dig a bit further, as something is not right, and you'd run into issues later (and forget about this issue possible)
It could also potentially point to other issues after the upgrade.
Nothing worse than having strange inconsistencies 6 months down the line, and not knowing why....
Ideally associated products should belong to the same category, configurable products have been placed to. Try to add simple to the same category, again set "Enable Discounts to Subproducts option to YES, apply the rule and do re-index. It should work
Best Answer
1)Create an attribute and using "Update attributes" option select all those products to one attribute value and apply catalog price rule to that attribute. This is not answer to your first point. but it is the other way for applying rules for the products.
2)check cron job is working or not . If not working, than catalog price rules will disappear after some time. click on "Apply catalog price rules" again when it disappear and reindex .
3)Dont select date when creating catalog price rules. leave the "from and to date" to blank. Check even your server time and magento site time is same.