Bad news there rood doog.
You're using wildcard characters as part of the block name, namely the hash or pound character (#). As such it is being interpretted according, so when we go --
(ssget "x"
'( (0 . "insert")
(2 . "12_cs_150#_sch.40_weld neck flange")
)
)
The # character is being evaluated as "any number here" or
(ssget "x"
'( (0 . "insert")
(2 . "12_cs_1500_sch.40_weld neck flange")
;; ^
)
)
(ssget "x"
'( (0 . "insert")
(2 . "12_cs_1501_sch.40_weld neck flange")
;; ^
)
)
(ssget "x"
'( (0 . "insert")
(2 . "12_cs_1502_sch.40_weld neck flange")
;; ^
)
)
(ssget "x"
'( (0 . "insert")
(2 . "12_cs_1503_sch.40_weld neck flange")
;; ^
)
)
Etc.
Of course theres no blocks by those names so it tallies: 0.
You can escape said character using a reverse quote (`) but that means you'll have to write a function (which isn't hard, I'll write it in a separate post if you want, might be good to have anyway, but I digress) to walk thru the block name, escaping any wild card characters it encounters.
However, my recommendation is that you reconsider your block naming convention. You're gong to continue to run into all kinds of curious behaviors like this if you include wildcard characters in any table entries (blocks, layers, styles etc.), including the inability to rename the table entry using the native rename command.
Here are the characters you should avoid:
You're currently using pound chars (#) and periods (.).
Cheers.
/messenger