This should work for your case (tested on iLogic):
Sub Main
Dim oAsmDoc As AssemblyDocument = ThisApplication.ActiveDocument
Dim oAsmCompDef As AssemblyComponentDefinition = oAsmDoc.ComponentDefinition
Dim oFace As FaceProxy = ThisApplication.CommandManager.Pick(SelectionFilterEnum.kAllPlanarEntities, "Please Select the Face for - AssyRefRight")
Dim oWPlane As WorkPlane
oWPlane = AddWorkPlaneInAssemblyOffset(oFace, 3)
oWPlane.Name = "AssyRefRight"
End Sub
Function AddWorkPlaneInAssemblyOffset(oFace As Object, oOffset As Double) As WorkPlane
Dim uOM As UnitsOfMeasure = ThisDoc.Document.UnitsOfMeasure
Dim oAsm As AssemblyDocument = ThisApplication.ActiveDocument
Dim oDef As AssemblyComponentDefinition = oAsm.ComponentDefinition
Dim oOriginPnt As Point
Dim oXaxis As UnitVector
Dim oYaxis As UnitVector
oOriginPnt = ThisApplication.TransientGeometry.CreatePoint(0#, 0#, 0#)
oXaxis = ThisApplication.TransientGeometry.CreateUnitVector(1#, 0#, 0#)
oYaxis = ThisApplication.TransientGeometry.CreateUnitVector(0#, 1#, 0#)
Dim oPlane As WorkPlane = oDef.WorkPlanes.AddFixed(oOriginPnt, oXaxis, oYaxis)
oPlane.AutoResize = True
oDef.Constraints.AddFlushConstraint(oFace, oPlane, uOM.ConvertUnits(oOffset, uOM.LengthUnits, UnitsTypeEnum.kDatabaseLengthUnits))
oPlane.AutoResize = False
Return oPlane
End Function

Vincent.