Here’s a post showing how to directly update a UD field in a DB. You’d want to tweak it so that the Company being referenced is the target company, and not the ClientContext.CurrentCompany
Yours would be something like:
Int32 oNum = Convert.ToInt32(ttOrderHedRow.PONum.Remove (ttOrderHedRow.PONum .Length -4,4));
// probably want to check that oNum has a non-zero value before doing the following
Db.OrderHed.Where( r =>r.Company == 'GNC' && r.OrderNum==oNum).FirstOrDefault().Checkbox01=1; // maybe "= true;"
Db.Validate();