`tabularx` führt eine `tabular*`-Umgebung aus. Ein einfacher Trick wäre nun, das `\hline` vor dem Ende von `tabular*` einzupatchen:
\documentclass{article}
\usepackage[utf8]{inputenc}
\usepackage{blindtext}
\usepackage{tabularx}
\usepackage{xpatch}
\newenvironment{MeineUmgebung}
{%
\expandafter\xpretocmd\csname endtabular*\endcsname{\hline}{}{}%
\tabularx{\linewidth}{|l|X|}
\hline
Erste Überschrift & Zweite Überschrift \\
\hline}
{\endtabularx}
\begin{document}
\begin{MeineUmgebung}
kurzer Text & \blindtext \tabularnewline
\end{MeineUmgebung}
\end{document}
![mit automatischer Linie am Ende][1]
Damit kommt das `\hline` noch vor dem Ende der Tabelle. Nachteil ist, dass es schief geht, wenn das `\tabularnewline` am Ende der `MeineUmgebung` fehlt. Aber das dürfte ein eher generelles Problem werden.
Achtung: Das funktioniert nicht, wenn man `ltablex` statt `tabularx` verwendet!verwendet!
[1]: http://texwelt.de/wissen/upfiles/test35_1.png