I don't use \centering, but why must I use \arraybackslash in my table?
\arraybackslash
resets the definition of \\
to \tabularnewline
.
\let\\\tabularnewline
The minipage
environment changes the definition of \\
(presumably), so \arraybackslash
resets it.
do not use the minipage, it does a lot of redefinitions. A p-column does the same:
\documentclass{minimal}
\usepackage[a4paper,margin=10mm,showframe]{geometry}
\usepackage{lipsum,xcolor}
\usepackage{array,longtable}
\setlength\tabcolsep{5mm}
\setlength\arrayrulewidth{5mm}
\newcolumntype{A}[1]{>{\rule{0pt}{4ex}}p{\dimexpr#1\textwidth-1.5\arrayrulewidth-2\tabcolsep}%
<{\vspace{\tabcolsep}}}%
\begin{document}
\color{red}%
\begin{longtable}{|A{0.5}|A{0.5}|}\hline
\lipsum[1] & \lipsum[2]\\\hline
\lipsum[1] & \lipsum[2]\\\hline
\lipsum[1] & \lipsum[2]\\\hline
\end{longtable}
\end{document}