Bei `m`-Spalten werden die Inhalte der Tabellenzellen vertikal zentriert. Die Achse liegt allerdings nicht in der Mitte der Zeichnung, weshalb sie dann auch nicht vertikal mittig zur Formel ausgegeben wird.
![alt text][1]
Deshalb sind `m`-Spalten hier nicht sinnvoll. Man könnte jetzt `X`-Spalten ohne die Umdefinition von `\tabularxcolumn` verwenden, da aber zum einen der Inhalt der Tabellenzellen einzeilig sein soll und zum anderen momentan die linke Tabellenspalte zu schmal ist - Du verwendest `\mbox` um den eigentlich nötigen Zeilenumbruch zu verhindern - ist es vermutlich sinnvoller zwei `r` Spalten zu nutzen.
Damit würde dann die Zeichnung so ausgerichtet, dass sich die Koordinate `O` auf Höhe der Grundlinie der Matheformel befindet. Da `O` in dem Beispiel den Punkt `(0,0)` bezeichnet, kann man sogar nur einfach `baseline` statt `baseline=(O)` schreiben.
![alt text][2]
Die Achse muss nun noch um die halbe Höhe einer `\strutbox` nach oben und die halbe Tiefe einer `\strutbox` nach unten verschoben werden, d.h. die `baseline` der Zeichnung muss gegenüber der Achse um die halbe Höhe einer `\strutbox` nach unten und die halbe Tiefe einer `\strutbox` nach oben wandern. Geht die Achse durch den Punkt `(0,0)` kann man das erreichen, in dem man sich entweder eine Koordinate `B` bei `(0,-.5\ht\strutbox+.5\dp\strutbox)` definiert und `baseline=(B)` verwendet oder aber, in dem man für `baseline` diese Verschiebung direkt angibt: `baseline=-.5*\ht\strutbox+.5*\dp\strutbox`.
`baseline={-.5*\ht\strutbox+.5*\dp\strutbox}`
![alt text][3]
\documentclass[12pt]{beamer}
\usepackage{lmodern}
\usepackage[utf8]{inputenc}
\usepackage{tikz}
\begin{document}
\begin{frame}
\begin{tabular}{rr}
$(a,b) = \{x \in \mathbb{R} \mid a < x < b\}$ &
\begin{tikzpicture}[line cap=round, line join=round,
baseline=-.5*\ht\strutbox+.5*\dp\strutbox
baseline={-.5*\ht\strutbox+.5*\dp\strutbox}
]
\draw [->] (0,0) -- (4,0);
\foreach \x/\y/\z in {1/(/$a$,3/)/$b$}
\draw [shift={({\x},0)}] node {\y} node[below=7mm,anchor=base,font=\small] {\z};
\end{tikzpicture}
\end{tabular}
\end{frame}
\end{document}
Da die beiden Klammern `(` `)` hier nur als Nodetext dienen und nicht in Koordinatenangaben landen, kannst Du die geschweiften Klammern um diese runden Klammern hier weglassen.
[1]: http://texwelt.de/wissen/upfiles/tw_tikztab.png
[2]: http://texwelt.de/wissen/upfiles/tw_tikztab1.png
[3]: http://texwelt.de/wissen/upfiles/tw_tikztab3.png