А>Почему массив автоматически преобразуется в указатель на его первый элемент, а обратное преобразование требует целый reinterpret_cast<> ?
Это называется "правило распада". А происходит это потому, что ко всякому массиву можно обратится через указатель. Но совсем не всякий указатель указывает на первый элементо массива!