Currently, the compiler only validates NetworkCallable usage on virtual base methods. Applying the attribute to abstract base methods or to overrides of virtual or abstract methods does not produce a compile-time error. Instead, a runtime error occurs when attempting to invoke the method:
Unable to send local event '_EventName' as an RPC. Events starting with an underscore may not be run remotely.
Removing the leading underscore suppresses the error, but the method still does not execute over the network.
Stronger compile-time validation would ensure invalid usage is detected before runtime.