The Windows clipboard is a global object. Presumably, Excel is copying hazardTriangle to the clipboard, then PasteSpecial pastes that into your Excel cell. That all works because Excel understands its own clipboard data types.
I'm as puzzled as you that if MicroStation is running it causes something in another process (Excel) to go wrong. Why should MicroStation be observing a clipboard copy/paste event sequence in another process?
Does it make any difference if you are explicit about the clipboard data type? For example...
Const SkipBlanks As Boolean = True ws.PasteSpecial xlPasteValues, xlPasteSpecialOperationNone, SkipBlanks