I would advice not to concatenate the dates into a single field when fetching the data. This makes parsing the data unnecessary complex on the client side.
Instead, why not just fetch the data in separate columns and add the logic to interpret the result to the calling program. This way the query is simple and you don't need to split the data from a single text field which may cause several kinds of problems, starting from date formats.
To fetch the data in separate columns, perhaps something like
WITH RevAmounts AS (
SELECT lcm.Revision_ID,
COUNT(lcm.ZPartID) AS CountParts,
MAX(lcm.LastCheckDate) AS LatestCheck,
COUNT( DISTINCT lcm.LastCheckDate) AS DistinctCheckDates
FROM parts.LifeCycleMaster lcm
GROUP BY Revision_ID
)
SELECT
ra.Revision_ID,
ra.CountParts,
ra.LatestCheck,
( SELECT MAX(lcm2.LastCheckDate)
FROM parts.LifeCycleMaster lcm2
WHERE lcm2.Revision_ID = ra.Revision_Id
AND lcm2.LastCheckDate < ra.LatestCheck) AS PreviousCheck,
ra.DistinctCheckDates
FROM RevAmounts ra