We use a subquery to limit to the latest status report. The subquery looks at the report date to determine which report is the latest. One issue we've found is if someone creates two status reports in the same day for the same project and uses the same report date on both you will get a query error. This can easily be fixed by just changing the report date on one of the records to make it different. You could decide to use the create date instead but it's possible that the create date may not indicate which report is INTENDED to be the latest...just which one was actually created last. At any rate, here is an example:
SELECT INV.ID, SR.COP_REPORT_DATE
FROM INV_INVESTMENTS INV INNER JOIN
ODF_CA_COP_PRJ_STATUSRPT SR ON INV.ID = SR.ODF_PARENT_ID INNER JOIN
(SELECT ODF_PARENT_ID, MAX(cop_REPORT_DATE) AS MAXOFPRFINISH
FROM ODF_CA_COP_PRJ_STATUSRPT
GROUP BY ODF_PARENT_ID) SRMAX ON SR.COP_REPORT_DATE = SRMAX.MAXOFPRFINISH AND SR.ODF_PARENT_ID = SRMAX.ODF_PARENT_ID