Da sind einige Sachen kaputt in deinem `\spaltestreichen`. Es nimmt zum Beispiel 5 statt 3 Parameter aber auch dann ist das innen drin kein gültiger TikZ Code. Außerdem müssen für Overlay alle Nodes unterschiedliche Namen haben weil sie sich sonst gegenseitig überschreiben.
\documentclass{article}
\usepackage{tikz}
\usetikzlibrary{calc,tikzmark}
% Zeilen Streichen
\newcommand\zeilestreichen[3][]{%
\tikz[remember picture,overlay]\draw[thick,#1]([yshift=0.8ex]pic cs:#2)--([yshift=0.8ex]pic cs:#3);}
% Spalten Streichen
\newcommand\spaltestreichen[5][]{%
\tikz[remember picture,overlay]\draw[thick,#1] ([yshift=1.6ex]$(pic cs:#2)!.5!(pic cs:#3)$) -- ($(pic cs:#4)!.5!(pic cs:#5)$);}
\begin{document}
\begin{tabular}{@{}c@{}c|c||c@{}c@{}}
& $A1$ & $A2$ & $A1 \vee A2 $ & \\
\hline
\tikzmark{z1l} & 0 & 0 & 0 & \tikzmark{z1r} \\
& 0 & 1 & 1 & \\
& 12 & 0 & 1 & \\
& 12333333 & 1 & 1 & \\
\end{tabular}
\zeilestreichen[red]{z1l}{z1r}
\begin{tabular}{@{}c|c||c@{}}
$A1$ & $A2$ & $A1 \vee A2 $ \\
\hline
\tikzmark{x1l}0\tikzmark{x1r} & 0 & 0 \\
0 & 1 & 1 \\
12 & 0 & 1 \\
\tikzmark{x2l}12333333\tikzmark{x2r} & 1 & 1 \\
\end{tabular}
\spaltestreichen[red]{x1l}{x1r}{x2l}{x2r}
\end{document}
![alt text][1]
Einfacher geht das ganze direkt in TikZ mit `\matrix`.
\documentclass{article}
\usepackage{tikz}
\usetikzlibrary{matrix}
\begin{document}
\begin{tikzpicture}
\matrix [matrix of nodes,nodes in empty cells,nodes={font=\strut,inner sep=2pt}] (m)
{
& $A1$ & & $A2$ & & $A1 \vee A2 $ & \\
\hline
& 0 & & 0 & & 0 & \\
& 0 & & 1 & & 1 & \\
& 12 & & 0 & & 1 & \\
& 12333333 & & 1 & & 1 & \\
};
% Spaltentrenner
\draw (m-1-3.north) -- (m-5-3.south);
\draw[double] (m-1-5.north) -- (m-5-5.south);
% Durchstreichen
\draw[red] (m-2-1.west) -- (m-2-7.east);
\draw[red] (m-2-2.north) -- (m-5-2.south);
\end{tikzpicture}
\end{document}
![alt text][2]
[1]: http://texwelt.de/wissen/upfiles/test_308.pnghttp://texwelt.de/wissen/upfiles/test_308.png
[2]: http://texwelt.de/wissen/upfiles/test_309.png