I've ran into this on a couple occasions. There's a bunch of threads here about using SolidEdgeFileProperties.dll and this problem. IMO it is an error in the library "read only" should be read enabled, but apparently read protected is expected behavior. I'm assuming it's concurrency issues they are worried about. Here's a thread I started about it that also shows how windows explorer cannot access file properties of an open file.
In a more recent project I'm using Newell's SolidEdgeCommunity.Reader lib and from what I can tell it doesn't care if the file is open in SE. It's not using any SE libs though, it's parsing the raw stores and streams data in the compound file. Only problem I've ran into so far is getting data from a family of assemblies file, otherwise it's working great for me. It's available on NuGet too.
I'd seen the post you referred to but decided it wasn't the way for me to go in this instance.
The macro isn't something that will be used that often - it just allows us to get a list of drawings that should be called up on a GA drawing. We can then check that all appropriate models have been added to the GA. (they don't always get done, or the GA model might not even exist)
I have got round the problem by checking the error number, and then skipping if the error occurred.
A message box informs the user which file(s) can't be opened, so those can be checked later.
HP Z420 16GB RAM Quadro K4000 ST10 MP6 on Windows 10 Pro 64.