There are a number of problems with that:
1) It doesn't find only bold text, and I don't know how to add that to
Do While .Execute(FindText:="(\[*\])", MatchWildcards:=True)
I tried adding ", Format:=Bold" but that didn't work. It's very hard to find documentation of all the arguments in all the different formats that one can use. Can you recommend a source (online or in print)?
2) It strips off the first character of the comment text in addition to the brackets. The comments don't have a prefix followed by ":" but ":" is a valid character for the text of the comment. That is, the form is
[This is a comment; it can have internal punctuation: like this.]
I can figure that out.
3) It doesn't delete the text that's moved to the comment. I can figure that out, too.
I don't mean to sound ungrateful.

Thanks for your help.