GetDeviceCaps ist zwar sehr nützlich, hilft beim String leider nicht weiter. Ab .NET 2.0 gibt es eine
Papersize-Class. Dort kann man den Namen auslesen und auch selbst setzen. Vielleicht ist es so wie Assarbad schrieb, dass der Druckertreiber bei der Übermittlung der unterstützten Formate auch die Strings setzt. Dann müsste man sehen, ob man die Strings in TDeviceMode selbst setzen kann. Dazu braucht man dann auch die obige Tabelle.
Anscheinend gibt es zu den B-Formaten unterschiedliche Angaben. In Satty67's Tabelle ist JIS, in VB werden DIN/ISO-Werte angegeben.