Well, for use with api functions (many of which require static arrays within the structures etc); these structures need to be 'what you see is what you get'! Allowing multi-dimensional arrays would require PB to store info on the bounds of each dimension in order to be able to reference individual elements etc. Where would PB store this info? If it stored it within the structure itself then we could no longer use the structure in api functions etc. Prohibiting PB from storing this data would effectively force such arrays to remain static so that all calculations with the array bounds can be undertaken at compile-time rather than run-time, and a static multi-dimensional array is really no easier to use than a single dimensional one!
Of course an alternative is to keep the existing static arrays for compatability with api functions, but add say dynamic arrays etc. as a completely new type of structure field. That would definitely be useful. At the moment I use one of my own utilities for this, but it would be useful to have this as native PB commands for sure!

I may look like a mule, but I'm not a complete ass.