Moin Christoph,
nö, die Anzahl der Spalten hat sich ja nicht verändert. Du müsstest \foolen an den breitesten Wert anpassen, z. B.
Code:
\documentclass{article}
\usepackage[ngerman]{babel}
\usepackage{tabularx}
%\usepackage{showframe}%<-- nur zur Demo
%
\newlength\foolen
\settowidth\foolen{1.000.000,00}% oder was auch immer
%
%% Dokument ====================
\begin{document}
  \begin{center}% mittig zum Textblock
    \begin{minipage}{\linewidth}% damit sich kein Seitenumbruch zwischen makebox und tabularx verirren kann
      \noindent% Zeile nicht einziehen
      \makebox[0pt][l]{% Breite = Null, links ausrichten
        \parbox[t]{\linewidth}{% den tatsächlichen Inhalt auf Breite der minipage ziehen
          \centering Konto%
        }%
      }% <-- Zeilenende auskommentieren,
      % die folgende tabularx an der Grundlinie der obersten Zeile ausrichten:
      \begin{tabularx}{\linewidth}[t]{@{}X>{\raggedleft}p{\foolen}|X>{\raggedleft\arraybackslash}p{\foolen}@{}}
        \multicolumn{2}{@{}l}{Soll} & \multicolumn{2}{r@{}}{Haben}\\
        \hline           
        Maschinen & 500.000,00 & Eigenkapital & 1,00\\
        Forderungen aus Lieferungen & 500.000,00 & Fremdkapital & 999.999,00\\[1ex]   
        \cline{2-2}\cline{4-4}&&&\\[-2ex]
        Summe & 1.000.000,00 & Summe & 1.000.000,00
      \end{tabularx}
    \end{minipage}
  \end{center}
  \end{document}
(ich habe hier die 2. Spalte wieder etwas von der Mittellinie abgerückt, dafür die erste Spalte an den linken Rand gezogen, das sieht IMHO etwas angenehmer aus)
Da die Spalten nun breit genug sind, ginge auch
Code:
\documentclass{article}
\usepackage[ngerman]{babel}
\usepackage{tabularx}
%\usepackage{showframe}%<-- nur zur Demo
%
\newlength\foolen
\settowidth\foolen{1.000.000,00}% oder was auch immer
%
%% Dokument ====================
\begin{document}
  \begin{center}% mittig zum Textblock
    \begin{minipage}{\linewidth}% damit sich kein Seitenumbruch zwischen makebox und tabularx verirren kann
      \noindent% Zeile nicht einziehen
      \makebox[0pt][l]{% Breite = Null, links ausrichten
        \parbox[t]{\linewidth}{% den tatsächlichen Inhalt auf Breite der minipage ziehen
          \centering Konto%
        }%
      }% <-- Zeilenende auskommentieren,
      % die folgende tabularx an der Grundlinie der obersten Zeile ausrichten:
      \begin{tabularx}{\linewidth}[t]{@{}X>{\raggedleft}p{\foolen}|X>{\raggedleft\arraybackslash}p{\foolen}@{}}
        Soll &\multicolumn{2}{c}{}& Haben\\
        \hline           
        Maschinen & 500.000,00 & Eigenkapital & 1,00\\
        Forderungen aus Lieferungen & 500.000,00 & Fremdkapital & 999.999,00\\[1ex]   
        \cline{2-2}\cline{4-4}&&&\\[-2ex]
        Summe & 1.000.000,00 & Summe & 1.000.000,00
      \end{tabularx}
    \end{minipage}
  \end{center}
  \end{document}
Die \multicolumn blendet hier nur noch den vertikalen Strich aus.

VG