/kb $$1 /mode ... <-- When you type /kb, it executes $$1 /mode. Wrong syntax. It's alias name, then commands.
/mode # +b $$1 2 <-- theres no channel mode '2'
/kick # $$1 $$?2- <-- What's '?2-' ?
1) I think you're thinking of /ban instead of /mode (and you can use -k to kick the person after setting the ban)
2) If you require the second parameter, you don't need to require the first one, i.e $1 $$2
3) $?, $?2, $?2- works fine here. It pops up a dialog and it returns everything I put in there. Perhaps you want '$2-' instead.
try: