Problem solved - I did not have Layer 0 visible.
I have eighteen Layers, and twelve Blocks in the drawing. On start-up, I normally hide all layers and then select the layers I need for the current session. It is six months since I last used DoubleCAD, so my knowledge of it has got rusty.
I had forgotten that all Blocks are created in Layer 0, and the original cannot be moved from this layer Because this layer was not visible, then when each Block was opened, nothing appeared in the window. If only Layer 0 could be renamed to Layer "0 Blocks", I would probably have saved about three days spent trying to get my drawing to work.
I vaguely remember that there is a reason that the original Blocks can only exist in Layer 0 - something to do with being able to set their attributes By Layer when they are referenced into the drawing, I think. But it was all so complex that I have forgotten the details now.
I see that Brian Carter includes the warning "Layer 0 should always be left visible, or blocks will instantly "disappear." in the TurboCAD/DoubleCAD Manual/ Inserting a block. However, this is the last place I would think of looking when the error message "Block instance is empty or invisible and cannot be inserted." appears. It is the Layer that is invisible, not the "Block instance", so it would be helpful if the message read "Block instance is empty, or its layer (Layer 0) is not visible, and therefore it cannot be inserted."