Execute functions on client in a snap, without worrying about what you're sending them! I've got this fully working, I'll be pushing it to SVN later today (probably). Here's the docs for this new function:
--[[
Function: clientRPC
Think of this function as if you're calling a client function directly from the server. You state who should run it, what the name of
the function is, and then a list of parameters to pass to that function on the client. ULib handles the rest. Parameters can be any
data type that's allowed on the network and of any size. Send huge tables or strings, it's all the same, and it all works.
Parameters:
filter - The Player object or RecipientFilter object for who you want to send this to, nil sends to everyone. Passed directly to umsg.Start.
fn - A string of the function to run on the client. Does *not* need to be in the global namespace, "myTable.myFunction" works too.
... - *Optional* The parameters to pass to the function.
Revisions:
v2.31 - Initial
]]
Here's some examples of some valid ways to use this function:
ULib.clientRPC( _, "print", "Hello, World!", 1, 3.14159, -999999, Entity( 1 ) ) -- Prints this list of arguments in all players' consoles
ULib.clientRPC( _, "print", file.Read( "ulx_motd.txt" ) ) -- Prints the ulx motd in the console of all connected players
ULib.clientRPC( Entity( 1 ), "PrintTable", { "bob", "barker", "was here!", { like="omg!", { file.Read( "../ulx_motd.txt" ) } } } ) -- Prints a crazy huge multi-level table in the console of the first player
I'm excited to start using this function, myself.

This fulfills feature #153 on Mantis --
http://ulyssesmod.net/bugs/view.php?id=153