Leider fehlen in Deiner Frage einige wichtige Informationen wie die beteiligten Grafikformate und auf welchem Weg die PDF-Datei erzeugt wurde. Daher kann es leider sein, dass die folgende Antwort zwar korrekt aber auf Deinen Fall nicht anwendbar ist. Ein [VM](http://texwelt.de/wissen/fragen/569/was-ist-ein-vollstandiges-minimalbeispiel-oder-kurz-vm-und-wie-erstelle-ich-dieses) [VM][1] und zusätzliche Angaben der genannten Art wären daher für etwaige weitere Antworten oder Präzisierungen dieser Antwort von Vorteil.
Bei Verwendung von PostScript-Specials für externe Abbildungen ist für die Darstellung nicht der Skalierungsfaktor, sondern die Breite und Höhe einer Abbildung für deren Darstellung entscheidend.
Für die direkte PDF-Ausgabe mit `pdflatex` wird für die verkleinerte oder vergrößerte Darstellung eines PDF in einem PDF jedoch ein Skalierungsfaktor benötigt (siehe beispielsweise `\convertPDFtoPDF` im Treiber `pdftex.def` bzw. dessen dokumentiertem Quelltext).
Tatsächlich wird bei Deinem Code die Grafik für die Sicht von LaTeX auf dieselbe auch bei der PDF-Ausgabe in der Größe verändert, wie man mit einem `\frame{\includegraphics{foo}}` feststellen kann. Allerdings ist die Skalierung in der Objektinfo nicht vorhanden, so dass das eingebettete Objekt in seiner natürlichen Größe angezeigt wird. Tatsächlich müsstest Du also zusätzlich zu der internen, gewünschten Größe auch noch die interne Skalierung berechnen. Dies könnte beispielsweise wie folgt aussehen:
\Gscale@div\Gin@scaley\Gin@req@height\Gin@nat@height
\Gscale@div\Gin@scalex\Gin@req@width\Gin@nat@width
wobei auch dies nur eine Lösung ist, die bei einigen Ausgabetreibern und Grafikformaten genügen mag, bei anderen eventuell auch nicht.
Wenn Dir diese Antwort nicht genügt, bitte ich um ein [VM](http://texwelt.de/wissen/fragen/569/was-ist-ein-vollstandiges-minimalbeispiel-oder-kurz-vm-und-wie-erstelle-ich-dieses), [VM][1], damit ich zum Testen etwas in der Hand habe und auch weiß, in welchem Format die Grafik für die PDF-Ausgabe vorliegt. Dies kann nämlich durchaus eine Rolle spielen.
Im übrigen empfehle ich bei solchen Low-Level-Experimenten nicht nur den dokumentierten Quelltext von `graphics.sty` und `graphicx.sty`, sondern auch den dokumentierten Quelltext der Ausgabetreiber gründlich zu studieren.
Und hier noch eine einfache Lösung, die unabhängig vom jeweiligen Treiber funktionieren sollte und die ich an Stelle der Low-Level-Angriffe empfehle:
\documentclass{article}
\usepackage{graphicx}
\setkeys{Gin}{width=3cm,height=1.98cm}
\begin{document}
\frame{\includegraphics{foo}}
\end{document}
Als Grafikdatei `foo` kann dabei jede beliebige Grafik in jedem Format verwendet werden, das der jeweilige Ausgabetreiber versteht, beispielsweise `a.ps` aus der Anleitung der `graphics`-Sammlung oder ein daraus mit `epstopdf` erzeugtest `a.pdf`.`a.pdf`.
[1]: http://texwelt.de/wissen/fragen/569/was-ist-ein-vollstandiges-minimalbeispiel-oder-kurz-vm-und-wie-erstelle-ich-dieses