You must have another tool that is responding to the same command, then. I just tested and confirmed that the admin daemon works correctly.
Code:
!ban edge100x
Command from rcon tool: !ban edge100x
admin.listPlayers all
Admin daemon responded: Banned: edge100x
punkBuster.pb_sv_command pb_sv_ban "edge100x"
PunkBuster Server: Matched: edge100x (slot #1)
banList.save
PunkBuster Server: Kick/Ban Command Issued () for (slot#1) x.x.x.x:3659 0837c128293d42aaaaaaaaaaaaaaaaa edge100x
edge100x left the server
PunkBuster Server: Lost Connection (slot #1) x.x.x.x:3659 0837c128293d42aaaaaaaaaaaaaaaaa(-) edge100x
Running banlist.list shows an empty banlist after this. My client showed the disconnection message "...Punkbuster permanent ban was issued.."