Schütz die eckigen Klammern in dem optionalen Argument, in dem Du sie dieses in geschweifte Klammern setzt:
setzt. Erklärungen dazu findest Du in den Antworten auf die Frage [\] in optionalen Argumenten][1].
    \begin{defn}[aaaaah{[eeeeeh]}iiiiih]
\begin{defn}[{aaaaah[eeeeeh]iiiiih}]
![alt text][1]
text][2]
    \documentclass[a4paper, 11pt]{article}
    \usepackage{amsthm}
    \usepackage{mdframed}
    \usepackage{tikz}
    \mdfdefinestyle{theoremstyle1}{%
    linecolor=black,linewidth=1pt,%
    frametitlerule=true,%
    frametitlebackgroundcolor=gray!20,
    innertopmargin=\topskip,
    }
    \mdtheorem[style=theoremstyle1]{defn}{Def.}[section]
    \begin{document}
    \begin{defn}[aaaaah{[eeeeeh]}iiiiih]
\begin{defn}[{aaaaah[eeeeeh]iiiiih}]
      oha
    \end{defn}
    \end{document}
  [1]: http://texwelt.de/wissen/fragen/355
  [2]: http://texwelt.de/wissen/upfiles/mdframed_2.png