I'm not entirely sure what you want to achieve. I notice that the dictionary you create includes an additional field in the list of field, but for instance RESID is not being taken into account by the dictionary. If you need both attributes for each OID, you could create a list as value in the dictionary like this:
dct = {r[0]: [r[1], r[2]] for r in arcpy.da.SearchCursor(tbl1, (fld_oid, fld_FIELD_NAME, fld_RESID))}
So each OID will have a list of [FIELD_NAME, RESID]. But you would have to do something with it in order to justify including it in the dictionary.
I also notice that you are reading the FIELD_NAME in this line:
FIELD_NAME = row[1]
.. but you are not doing anything with it. You just overwrite the result if the OID is in the dictionary.
So perhaps a little more explanation on what you are trying to achieve would be necessary for me to understand your goal.