It is better to delete the paragraph at the time of writing the userform fields to the document but you haven't shown us your code.
This code can be used after you have populated the bookmarks. It doesn't query the text in the bookmark itself since it is likely your code is adding the text beside the bookmarks rather than inside them.
If Len(ActiveDocument.Bookmarks("aa").Range.Paragraph s(1).Range) = 1 Then
ActiveDocument.Bookmarks("aa").Range.Paragraphs(1) .Range.Delete
End If
With your second question, this should definitely be handled at the time of writing the userform values.
If Len(Me.BusinessName) = 0 then
ActiveDocument.Bookmarks("ab").Range.Text = Me.ContactName
Else
ActiveDocument.Bookmarks("ab").Range.Text = Me.BusinessName
End If
Note that this code doesn't actually fill the bookmark and may also actually delete the bookmark which is a pain I alluded to in the initial code. To populate the bookmark ranges 'properly' you would need to look at this info
http://word.mvps.org/faqs/macrosvba/...hBookmarks.htm