This is a VERY bad idea, even if it is just for super admins, they still can crash your server. But you did many things wrong with your syntax, here is a fix:
registerOutputEvent(GameConnection, "doEval", "string 16 140");
function GameConnection::DoEval(%this,%eval)
{
if(%client.isSuperAdmin)
{
%str = getSubStr(%eval);
eval(%str);
}
else
{
messageAll('',"\c2" @ %this.name @ "\c3 tried to use eval through the doEval event");
}
}