Yes, a 0-dimensional view is definitely sometimes useful, because it behaves just like the Ref type, but still refers to the original array. You can pass view(a, 2) to a function and that function can then modify the second entry of a with v = ..., where v is the name of the view. This can be useful for emulating the pass-by-reference behavior in C++, for example.
It’s an interesting case because reinterpret extends the first dimension to fit all the new elements… but there is no first dimension in a 0d array. I’ve often thought it’d be helpful for it to add a dimension instead, which would completely avoid this problem, but is of course breaking.