The CheckUserLogService is used to create a log entry in Special:CheckUserLog. This is done after a user makes a check using either the CheckUser API, Special:CheckUser, or Special:Investigate. However, these actions need an actor ID for the performer of the check which means that when a logged out user runs a check it will cause no log entry to be created.
To solve this we should update the CheckUser interfaces to create a temporary account as part of the check action. This means that the CheckUserLogService will not have a situation where it needs to create an actor ID for a IP address when temporary accounts are enabled.
While we could make it impossible for IPs to run checks, in {T346458} we made it possible to have checkuser logs for IP addresses running checks. Adding in an extra check (other than the checkuser user right) could complicate things on a private wiki.