Compare Timestamp Difference Between Consecutive Records
This works like this:


It gets numbers for each row of each ProductID ordered by SampleDate (ROW_NUMBER()).
It only keeps first 2 values (biggest SampleDate which are the last 2 rows of the sample)
It calculates the difference in minutes between the 2 SampleDate


Query:

WITH cte AS (
    SELECT ProductID, SampleDate
        , n = ROW_NUMBER() OVER(PARTITION BY ProductId ORDER BY SampleDate DESC)
    FROM @x
)
SELECT ProductID
    , CCVPassed = CASE WHEN DATEDIFF(minute, MIN(SampleDate), MAX(SampleDate)) &lt; 15 THEN 'true' ELSE 'false' END
FROM cte
WHERE n &lt;= 2
GROUP BY ProductID


SQL Fiddle

Output:

ProductID   CCVPassed
101 4       false


Note:  


It partitions by ProductId because it supposed you have several ProductId in your real table. 
Replace true/false by 1/0 or whatever is needed in the real query