There are spurious spaces in the definitions (imho it is not really a good idea to use \setbeamerfont in this place. Fonts should be setup in the preamble).
\documentclass{beamer}
\newcommand{\mytinyfootnote}[1]{%
\setbeamerfont{footnote}{size=\tiny}%
\footnote{#1}%
}
\makeatletter
\renewcommand\beamer@clearbeamerfont[2]{%
\def\beamer@temp{#1}%
\setkeys{beamerthm}{size={},shape={},series={},family={},parent={}}%
\setkeys{beamerthm}{#2}%
}
\renewcommand\beamer@setbeamerfont[2]{%
\def\beamer@temp{#1}%
\setkeys{beamerthm}{#2}%
}
\begin{document}
\begin{frame}
\begin{itemize}
\item \tracingoutput=1 Foo\mytinyfootnote{Bar}
\item Foo\footnote{Bar}
\end{itemize}
\end{frame}
\end{document}