Customisation Advice - Vantage 8.03.409a

We use Kanban Receipts for entering all our production quantities and have set up a procedure to enter the weight of certain parts at record entry (this then carries across to JobHead table).

We now want to review the weight of this part against a specific material in the BOM and if the difference between the physical weight and PartMtl requirements are different by a certain %, which will be stored on the OpStd table for these parts, then a 'block' should prevent the Kanban being processed.

I have approached this from a couple of different angles but am experiencing the following problems:

Custom Form - I don't seem to be able to link using FKV to the OpStd (Part - PartRev - PartOpr - OpStd) to find the %, or to the material I need to review (Part - PartRev - PartMtl).  Could this be done using custom code?  Unfortunately I have only ever linked down to 1 table and not followed a chain like this so am unsure of the process?

BPM - From past experience you are unable to stop a Kanban Receipt from being processed using PreProcessKanbanReceipts and ProcessKanbanReceipts methods.  The only way to stop the process is to use the ChangePart method BUT at this point I won't have the production weight to validate against.... can I use the BPM to update an unassigned control on the form with the information, and then code the form to compare the fields?

The only procedure I have come up with is to record the OpStd and the PartMtl data against the PartRev table (which is available on Kanban via FKV) and code the form against that but it seems a bit messy as I will need BPM's in place for every time they are updated to update PartRev.  I apologise for the long winded post but I wanted to give as much information as possible!  Thanks in advance for any advice \ suggestions.