1. Server side:
You can count the number of items in your DataSource. It should match the number of visible events provided that you limit the SELECT properly (using StartDate and EndDate). Note that the events that don't fit into the visible range are not sent from the server side.
2. Client side:
Check dpc.events.list array in AfterRender event handler:
<DayPilot:DayPilotCalendar
...
ClientObjectName="dpc"
AfterRenderJavaScript="alert('Number of events: ' + dpc.events.list.length)"
...
/>
Updating a Label using jQuery:
AfterRenderJavaScript='$("#label").html("Count: " + dpc.events.list)'