Pourquoi ne pas essayer :
SELECT MAX(id)
FROM tblquoteproposal
GROUP BY requestid
Et alimentez les résultats de cette requête avec tout ce dont vous avez besoin ? (Cela peut être une sous-requête).
Par exemple, votre solution complète peut être la suivante (j'utilise LEFT OUTER JOIN parce que vous l'avez fait, je ne suis pas sûr que ce soit la bonne manière, peut-être que INNER JOIN est plus approprié):
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 )