Sorry, missed your new comments. You might have solved this already, but this is one way how it could be done ...
SampleData: LOAD * INLINE [ Call-Off Reference, Reporting Period, Stage COR007977, 01/01/2011, desc A COR007977, 01/02/2011, desc B COR007977, 01/03/2011, desc B COR007977, 01/04/2011, desc A COR007977, 01/05/2011, desc C COR007978, 01/03/2011, desc C COR007979, 01/03/2011, desc Q COR007979, 01/03/2010, desc A COR007979, 01/08/2009, desc B COR007979, 01/03/2006, desc C COR007975, 01/01/2011, desc A COR007975, 01/07/2011, desc D COR007975, 23/08/2011, desc Z COR007975, 01/02/2011, desc B];
LEFT JOIN (SampleData) LOAD *, RowNo() as RowRef resident SampleData; // this enforces row uniqueness for linking later
LEFT JOIN (SampleData) LOAD [Call-Off Reference], max([Reporting Period]) as LatestPeriod // this finds latest date within each Call-off Reference group resident SampleData group by [Call-Off Reference];
LEFT JOIN (SampleData) LOAD RowRef, Match(num([Reporting Period]),num(LatestPeriod)) as LatestPeriodFlag resident SampleData;