Should (referring to the past) versus should have + past participle
"Should have" + past participle is a perfect construction, referring to a completed action. It tends to imply "...but it's too late now".
If you say "I suggested that she should have bought a car", this means that you suggested that she should (already) have bought a car (by the time you spoke). You may well have said to her, "You should have bought a car."
But if you say "I suggested that she should buy a car", then the possibility of buying one was still open to her at the time you spoke to her (and may or may not still be open now). You may have said to her, "You should buy a car."
Tense is a tricky matter when it comes to modal verbs. Morphologically, "should" is already in the past, and for some purposes it may occasionally still function as the past tense of "shall" - although it may be better to think of them as two separate verbs.
Regardless of formal tense, "should" can be used to refer to the present time ("You should buy a car (right now)" or future time ("You should buy a car soon", "You should buy one tomorrow"), but it can also refer to the past ("I said she should buy a car", "She knew that she should buy a car", "He wondered whether he should quit smoking").