"Descend FL150 to be level by XXX", means you should arrange your descent to be level at FL150 at, or before, position XXX. Any subsequent descent clearance replaces the previous instruction. If ATC still want the previous condition to apply, then IMHO, it should be clarified in the new instruction:- "Descend FL90, cross XXX at FL150 or below".
If you are put on radar headings, then I don't see how you can comply with the STAR.
That's how I see it, others may disagree. Hope this helps.