Einen Zugriffspfad "erzwingen" kann man leider nicht.
Für einen Insert benötigt man keinen Zugriffspfad, wohl aber für einen "update ... where" als auch für einen "select ... where" der ja nun Bestandteil deines Insert's ist.

Ich würde auch mal prüfen, wieviele Sätze denn beim Update immer betroffen sind !
Ist es denn tatsächlich immer nur 1 Satz oder sind es ggf. auch mal mehrere oder ganz viele ?

Du kannst natürlich (auch per SQL) prüfen, ob es einen Zugriffsweg gibt, oder alternativ einfach einen Index (per Create Index) erstellen.
Verpasse einen eindeutigen Namen (max. 128 Stellen) aus z.B. den Feldnamen der Where-Klausel zusammengestellt und erstelle den Index.
Wird der Befehl abgewiesen, ist er halt schon da (zugegeben nicht besonders schön, funktioniert aber).
Insbesonders für das Feld PSLFNR einen absteigenden Index, da ja immer nach dem größten Schlüssel gesucht wird.

Als zusätzliche Alternative bietet sich SQLCLI an, da hier bei Parameter-Markern "?" auch Character-Felder mittels SQLPutParm() verwendet werden können.
Hier kann man dann auch eher mit SQLPrepare arbeiten, über eine interne Liste feststellen, ob der SQL-Befehl schon mal prepared wurde und sich somit Zeit und Performance sparen.