Are there any known diagonalization proofs, of a language not being in some complexity class, which do not explicitly mention simulation?
The standard diagnolization argument goes: here is a list of machines for all languages in a class $M...$, here is the list of all arguments $w...$, you create an onto map from $w$'s to $M$'s where a map between a $w$ and an $M$ means $w$ is in the diagonal language $L$ iff $w$ is not in $M$. Then, an assumption that $L$ is solved by one of the $M$s is not true. However, with this setup, inorder to decide if a particular $w$ is a member of $L$, you need to simulate the corresponding $M$.
Even with indirect diagnolization: (essentially) you assume two complexity classes are equal, you prove more and more equalities until you show two classes equal that you can separate via the ^ same ^ type of diagnolization. Although you are not simulating machines in the original class you want to separate, you are still relying on the construction of a language that requires simulation (of machines for languages in the class it is a diagonal of) to determine its members.
Can a language be defined, via some "passive" method of diagnolization, that doesn't require simulation of machines that solve the languages in the class you are diagnolizing against?