Dlaczego nie spróbować:
SELECT MAX(id)
FROM tblquoteproposal
GROUP BY requestid
I podać wyniki tego zapytania do czegokolwiek potrzebujesz? (Może to być podzapytanie).
Na przykład twoje kompletne rozwiązanie może wyglądać następująco (używam LEFT OUTER JOIN, ponieważ tak zrobiłeś, nie jestem pewien, czy to właściwy sposób, może INNER JOIN jest bardziej odpowiedni):
SELECT ... your fields ...
FROM
tblquoteproposal p LEFT OUTER JOIN tblrequest r
on p.requestid = r.requestid
WHERE p.id IN (
SELECT MAX(id)
FROM tblquoteproposal
GROUP BY requestid )