I'll add a few more details.
I've checked that all the deployed DLLs are identical versions between the WCF service and the
ASP.NET app. The version numbers for all castle DLLs and log4net match.
I'm using the 1.2.10 version of log4net with the 1b44e1d426115821 key.
My WCF service and
ASP.NET MVC app are separate IIS applications but exist in the same app pool, if that matters. The app pool runs under credentials that have access to the log table in the DB (obviously it has access since the WCF app can, at least, partially log).
What seems odd to me is that Castle is clearly populating the ILogger properties with loggers. They're just not all working. It's also rather odd that it works for some classes and not others inside the WCF service.