Wie in der Anleitung zum Paket erklärt, gehört `\caption` bei [`ltablex`](http://www.ctan.org/pkg/ltablex) (genau wie bei bei [`longtable`](http://www.ctan.org/pkg/longtable)) in die Tabelle:
\documentclass{scrartcl}
\usepackage[utf8]{inputenc}
\usepackage[english]{babel}
\usepackage[T1]{fontenc}
\usepackage{caption}
\usepackage{ltablex}
\usepackage{hyperref}
\begin{document}
\listoftables
\begin{table}
\begin{tabularx}{\linewidth}{cX}
\caption{caption table 1}\\
\textbf{A} & \textbf{B} \\
1 & 2 \\
\end{tabularx}%
\end{table}
\begin{table}
\caption{caption table 2}
\begin{tabular}{cc}
\textbf{A} & \textbf{B} \\
1 & 2 \\
\end{tabular}%
\end{table}
\end{document}
Zur Erklärung: `longtable` ebenso wie die `tabularx`-Umgebung von `ltablex`, die ja letztlich eine erweiterte `longtable` ist, erhöht den Tabellenzähler `table` bereits selbst. Dafür erhöht die `\caption`-Anweisung innerhalb der Umgebung dann den Zähler nicht mehr. Hat man allerdings eine `\caption` (oder `\captionof`) außerhalb der Umgebung, dann wird natürlich davon der Zähler ebenfalls erhöht. Dadurch kam bei Dir die doppelte Erhöhung zustande.
Darüber hinaus sollte man eine Tabelle, die über mehrere Seiten umbrochen werden soll, niemals in eine Gleitumgebung packen, weil Gleitumgebungen nun einmal immer komplett auf einer Seite ausgegeben werden müssen und nicht über mehrere Seiten umbrochen werden können:
\documentclass{scrartcl}
\usepackage[utf8]{inputenc}
\usepackage[english]{babel}
\usepackage[T1]{fontenc}
\usepackage{caption}
\usepackage{ltablex}
\usepackage{hyperref}
\begin{document}
\listoftables
\begin{tabularx}{\linewidth}{cX}
\caption{caption table 1}\\
\textbf{A} & \textbf{B} \\
1 & 2 \\
\end{tabularx}%
\begin{table}
\caption{caption table 2}
\begin{tabular}{cc}
\textbf{A} & \textbf{B} \\
1 & 2 \\
\end{tabular}%
\end{table}
\end{document}
Da hier die Tabelle tatsächlich kürzer als eine Seite ist, ergibt sich allerdings das altbekannte Problem, dass die Nummerierungsreihenfolge nicht mehr stimmt. Daher sollte man in solchen Fällen zusätzlich eine `\FloatBarrier` mit Hilfe des Pakets [`placeins`](http://www.ctan.org/pkg/placeins) einfügen:
\documentclass{scrartcl}
\usepackage[utf8]{inputenc}
\usepackage[english]{babel}
\usepackage[T1]{fontenc}
\usepackage{caption}
\usepackage{ltablex}
\usepackage{placeins}
\usepackage{hyperref}
\begin{document}
\listoftables
\FloatBarrier% Damit keine Gleittabellen hinter die nicht gleitende gleiten können.
\begin{tabularx}{\linewidth}{cX}
\caption{caption table 1}\\
\textbf{A} & \textbf{B} \\
1 & 2 \\
\end{tabularx}%
\FloatBarrier % Damit keine Gleittabellen an den Anfang der Seite
% mit der nicht gleitenden Tabelle gleiten können.
\begin{table}
\caption{caption table 2}
\begin{tabular}{cc}
\textbf{A} & \textbf{B} \\
1 & 2 \\
\end{tabular}%
\end{table}
\end{document}
Es sei auch noch erwähnt, dass `longtable` und die `tabularx`-Umgebung von `ltablex` auch dann den `table`-Zähler erhöhen, wenn man gar keine `\caption` für – korrekt also: in – der Tabelle hat. Daher muss man in solchen Fällen, den Zähler selbst wieder korrigieren:
\documentclass{scrartcl}
\usepackage[utf8]{inputenc}
\usepackage[english]{babel}
\usepackage[T1]{fontenc}
\usepackage{caption}
\usepackage{ltablex}
\usepackage{hyperref}
\begin{document}
\listoftables
\begin{tabularx}{\linewidth}{cX}
\textbf{A} & \textbf{B} \\
1 & 2 \\
\end{tabularx}%
\addtocounter{table}{-1}% Tabellenzähler für longtable ohne \caption korrigiert.
\begin{table}
\caption{caption second table 2}
(first with caption)}
\begin{tabular}{cc}
\textbf{A} & \textbf{B} \\
1 & 2 \\
\end{tabular}%
\end{table}
\end{document}