A small alteration will ensure that the client running the code has sufficient access to ban.
on @*:TEXT:!dm:#:{ ban -ku10 $chan $nick 2 $me pulls out a dds and specs, KO! (please dont use !dm again) }
Aside from that, the only other reason I can think of it not working, is if the remotes section in the client with the code (aka bot) is turned off. To ensure that they are on, using the client that has the code, type /!remote on