Not sure if its proper or correct but made a copy of the blockreference exploded it read value and deleted all exploded objects from block.
Public Function Get_Wt(BlockRefObj)
' Define the block
Dim blockObj As AcadBlock
' Explode the block reference
Dim explodedObjects As Variant
Dim copyblockobj As Variant
Set copyblockobj = BlockRefObj.COPY()
explodedObjects = BlockRefObj.Explode
' Loop through the exploded objects
Dim I As Integer
For I = 0 To UBound(explodedObjects)
If explodedObjects(I).ObjectName = "AcDbMText" Then
wght = explodedObjects(I).TextString
End If
explodedObjects(I).DELETE
Next
Get_Wt = wght
End Function