A guess: the code is being rejected at compile time. SQL takes your script, parses it, sees the merge, determines there's a columnstore index, and raises and returns the error... without being clever enough to "notice" that the index is disabled in the prior step.
I don't know that this is the problem, but I've seen issues like this before.