В той теме допущена досадная ошибка при вычислении координат второго вектора. Правильно так:

,

, их скалярное произведение

, то есть угол будет всегда тупой, кроме вырожденного двумерного случая.
Для плоских прямоугольников угол между диагоналями будет прямым.
В многомерном случае лучше пользоваться координатным методом, аккуратно расписав координаты второго вектора и скалярное произведение.
Кроме этого, у Вас не определён принцип прикладывания параллелепипедов. Даже в двумерном случае возможны два варианта. Хотя гораздо эффективнее прикладывать снизу, совмещая рёбра от начала координат. Тогда дальняя вершина первого параллелепипеда будет иметь координаты

, а у второго параллелепипеда координаты будут получаться перестановками и переменами знаков. В зависимости от этого и скалярное произведение будет различным. При чётном количестве измерений попарные перестановки с однократным изменением знака в каждой паре дадут перпендикулярность. А вот в нечётномерном пространстве такого можно и не достичь общем случае.