When I connect from IDKit to AFIS, does it increment "Client count" (which can be seen in log file) for every new client connection/IDKit instance or does it increment "Client count" only per machine (IP address)?"

Every client has unique HW ID. Client count is based on this HW ID. HW ID is transfered in IEngine_Connect() (InitClient()) to AFIS. So "client count"  on ExpressID AFIS is amount of connected machines/servers. When you use multiple IDKit connections/instances from one machine/server it increments the "client count" on ExpressID AFIS only by one.
When you disconnect from client, you cannot see it immediately in AFIS log (Client count), because it's cached for one more hour.