Customization V8.03 Help

On the Parts sheet (and others), we want to edit the part number
before Vantage retreives the record from the database. We have
certain rules about where dashes go in our part number. So the user
doesn't have to think about where the dashes go, I wrote code to put
them in the correct place. My code runs
BeforeAdapterMethod "GetByID", the field
on the screen is updated fine (I put a message box up before
returning), but it always retreives the original string the user
enters, not my updated string. Is there something special to do
because this is a key field?