I’ve got a feeling Obsidian doesn’t take options in regex - if you try the regex in the search bar, and ask it to explain the search term then you’ll see it’s using the options as extra text to match.
I think my answer was unclear, I don’t think you can use a regex to do this in Obsidian, though I’d love to be corrected.
The regex you would need to use would have to use the options /smi as you correctly surmised. However, Obsidian doesn’t just ignore those options, it assumes they are extra text to search for. If you copy the regex you used into the search bar and click the question mark button, Osbidian will explain what it is actually searching for:
Here, you can see that it’s trying the regex AND the smi as text to look for.
So, you can’t use the regex options, which you need for this search. Hence you can’t use a regex for this.
There may be other options but I don’t think a regex is one. I’m in the habit of writing a quick Python script for some Obsidian purposes but it might be possible to use one of the community plugins in some way, perhaps by changing the layout of what you’re searching for.
It uses a positive lookbehind ((?<=## Status)) and a positive lookahead ((?=#endstatus)) to assert the presence of those two markers. It uses a non-greedy match ((.*\n)+?) so that it can find multiple instances in the same file.