Hi @ThomasHo11,
As you've sensed, you're trapped.
$$TODAY changes constantly (as They Might Be Giants pointed out), so the resulting calculated parameter quickly gets "stale", until the next recalculation...to chorus.
If the value of that age warrants doing so, you could use Fusion or our Recalc Parameters solution (which we created for this purpose) on some reasonable cadence to "freshen up" the data (eg each night).
Alternatively, you could filter for the projects of interest each day and either manually recalculate them (or use our Recalc Helper solution, which can handle high volumes)...but were you to forget to do so, confidence might then quickly erode.
For real-time calculations, it might be best to use a valueexpression in a view (and/or report) with the DATEDIFF function: although you'd be giving up the abilities to filter, group, sort, and chart that a calculated parameter persisted in the database would provide, at least the numbers would always be accurate.
Regards,
Doug