Thanks a lot Tony, it works!
I have a little problem with the property IsDynamicBlock, because it sometimes was false though it was a dynamic block, so i use the anonymous blockname.
For other users i complete my code:
Dim Btr As BlockTableRecord = CType(ta.GetObject(curBlockRef.BlockTableRecord.ConvertToRedirectedId, OpenMode.ForRead, False), BlockTableRecord)
Dim ProductNo As String
If Left(Btr.Name, 1) = "*U" Then
Dim dynObjectID As ObjectId = curBlockRef.DynamicBlockTableRecord
ProductNo = Left(Btr.Name, Len(Btr.Name) - 1)
Dim dynBtr As BlockTableRecord = CType(ta.GetObject(dynObjectID, OpenMode.ForRead, False), BlockTableRecord)
ProductNo = dynBtr.Name
Else
ProductNo = Btr.Name
End If