Your code didn't work because it returns the ListValue and not the ListString. My fault; I should have checked instead of assuming that it worked before. Try the following instead
Code:
Sub AddBookmarksWithCharsOfParagraphNumber()
Dim para As Paragraph
Dim bookmarkName As String
Dim paragraphNum As String
' Loop through each paragraph in the active document
For Each para In ActiveDocument.Paragraphs
' Check if the paragraph is a list paragraph
If para.Range.ListFormat.ListType <> WdListType.wdListNoNumbering Then
' Get the paragraph number and convert it to a string
paragraphNum = para.Range.ListFormat.ListString
' Generate a bookmark name with the first four characters of the paragraph number
bookmarkName = "Bookmark_" & paragraphNum
'paragraphNumStr = Left(paragraphNumStr, InStr(1, paragraphNumStr, Chr(32)))
bookmarkName = "Bookmark_" & Trim(Replace(paragraphNum, ".", "_"))
' Add a bookmark to the paragraph
ActiveDocument.Bookmarks.Add bookmarkName, para.Range
End If
Next para
End Sub