because it is the app that checks people who join if they are banned
Uh, wrong there.
ULX does no checking to see if a player is banned when they join.
All ULX does, when you ban someone, is add the banned person's steamid to a normal ban file that every Source game uses.
It would be the same if you didn't use ULX, and used the console command 'banid'
Source checks the file (normally gmod/cfg/banned_users.cfg ) every time a player joins.
The only thing ULX does on server start (not player join) is check to make sure there aren't any temporary bans.
If there are, it loads those until the time for the temporary is up.
Source itself doesn't remember temp bans between server sessions, so we wrote code that will keep them between server sessions.
You may check your banned_users.cfg file to make sure it's not huge, corrupt or something.
Should look like the following.
banid 0 STEAM_0:1:730082
banid 0 STEAM_0:1:8093865
banid 0 STEAM_0:0:788654
banid 0 STEAM_0:0:11261697
banid 0 STEAM_0:0:1184783
banid 0 STEAM_0:0:1219775
...