Technically speaking, yes, array access takes O(n) time for n dimensions, when n is unbounded.
Practically speaking, n is never unbounded so that n is O(1), and so is the access time.
Note that precomputation of the array takes time and storage exponential in n (at least 2^n elements), so that situations with n really being unbounded do not arise, and asymptotic analysis on the number of dimensions is of little use.
The C standard recommends to support up to 256 dimensions; no computer on earth could store such an array. I don't think I ever exceeded n=10.
When array accesses follow a simple pattern, such as travelling across a single dimension, smart optimizers take this into account, resulting in O(n + k) access time for k accesses instead of O(nk), i.e. O(1) instead of O(n) per access when k>n. (Both in theory and in practice.)