`\AtBeginEnvironment` führt den zusätzlichen Code nach dem Öffnen der zugehörigen Gruppe aber vor dem `\begin`-Code der Umgebung aus. Du hast hier also wieder die Gleitumgebung [Gleitumgebung in der `\tcolorbox` statt umgekehrt. umgekehrt](http://texwelt.de/wissen/fragen/18390/wie-bekomme-ich-ganze-umgebungen-in-eine-colorbox). Siehe `float` und `blend into` etc. in der `tcolorbox`-Anleitung wie das mit den Gleitumgebungen korrekt funktioniert, beispielsweise so:
\documentclass{article}
\usepackage[ngerman]{babel}
\usepackage{xcolor}
\usepackage{graphicx}
\usepackage{tcolorbox}
\tcbset{colframe=gray, colback=yellow!20,}
\newtcolorbox[blend into=figures]{boxedfigure}[2][]{float=tbp,title={#2},capture=hbox,every float=\centering}
\begin{document}
\begin{boxedfigure}[label=fig:Bild]{Bildunterschrift}
\includegraphics[scale=0.6]{example-image-a}
\end{boxedfigure}
\end{document}
![gleitende tcolorbox-Umgebung][1]
Eine andere Möglichkeit besteht darin, die interne `@foat`-Umgebung von LaTeX zu patchen, die im einspaltigen Satz von allen Gleitumgebungen verwendet wird. Dabei ist aber zu beachten, dass diese Umgebung in der Regel intern nicht mit `\begin{@float}` und `\end{@float}` aufgerufen wird, sondern mit `\@float` und `\end@float` und daher direkt diese Anweisungen geändert werden müssen:
\documentclass{article}
\usepackage[ngerman]{babel}
\usepackage{xcolor}
\usepackage{graphicx}
\usepackage{tcolorbox}
\tcbset{colframe=gray, colback=yellow!20,}
\usepackage{etoolbox}
\makeatletter
\pretocmd{\@float}{\newpage}{}{}
% Problem hier .....
\apptocmd{\@float}{\begin{tcolorbox}}{}{}
\pretocmd{\end@float}{\end{tcolorbox}}{}{}
% .....
\apptocmd{\end@float}{\clearpage}{}{}
\makeatother
\begin{document}
\begin{figure}\label{fig:Bild}
\centering
\includegraphics[scale=0.6]{example-image-a}
\caption{Bildunterschrift}
\end{figure}
\begin{table}
\begin{tcolorbox}
\label{tab:Tabelle}
\centering\Huge
\caption{Tabellen\"uberschrift}
\begin{tabular}{c|c|c}
A & B & C \\ \hline
X & Y & Z \\
\end{tabular}
\end{tcolorbox}
\end{table}
\end{document}
![gepatchte Gleitumgebung in einer tcolorbox][2]
Dass in diesem Beispiel die Tabelle nun doppelt umrandet ist, ist korrekt, da hier nun eine explizite `tcolorbox` in der impliziten `tcolorbox` der Gleitumgebung `@float` gesetzt wird.
[1]: http://texwelt.de/wissen/upfiles/test6_12.png
[2]: http://texwelt.de/wissen/upfiles/test7_9.png