Well i have just tried playing with:
SELECT *
FROM Table1, (SELECT max(DDATE) as maxdate, ID
FROM Table1
GROUP BY ID) maxresults
WHERE Table1.ID= maxresults.ID
AND Table1.DDATE= maxresults.maxdate
AND Table1.ID in ('AA1', 'AA2', 'AA3', 'AA4', 'AD4', 'AD6', 'AD8', 'AE9');
Which appears to...