Unless there's a blockland-specific error, I don't see anything wrong with your code. But, I would use %obj.client.name rather than %obj.client.namebase:
function BLGrillTrigger::onEnterTrigger(%this, %trigger, %obj)
{
if( !isObject(%obj.client) )
return;
%messageArray[0] = '\c2%1 just decided to sleep with the coals.';
%messageArray[1] = '\c2%1 decided to go for well-done.';
%messageArray[2] = '\c2%1 likes it HOT.';
%messageArray[3] = '\c2%1 fails at walking on hot coals.';
%messageArray[4] = '\c2%1 IS ON FIRE!!!';
%messageArray[5] = '\c2%1 turned into a plastic puddle.';
%messageArray[6] = '\c2%1 says, \'That\'s hot.\'';
%messageArray[7] = '\c2%1 decided to go down in flames.';
%messageArray[8] = '\c2%1 made like Gollum and the One Ring.';
%messageArray[9] = '\c2%1 is now available in Flame-Broiled or Extra Crispy.';
messageAll('SomeDumarseFellIntoTheGrill', %messageArray[ getRandom(0,9) ], %obj.client.name);
%obj.kill();
}