Providing you have Update rollup 5 or higher, you can enable 'Audit User Access' (System Settings, Audit tab). This will create a record every 4 hours for each user accessing CRM. However, this won't accurately answer question c), as you get the same audit
information if a user accesses CRM once in 4 hours, or continuously.
For b), you are better off using either the auditing on the specific entities, or querying on the modifiedby / createdby fields.
Note that Crm auditing captures a reasonable amount of information, but is not that easy to report across.
If you use Active Directory authentication, you can get more information by enabling IIS logging
Microsoft CRM MVP - http://mscrmuk.blogspot.com/ http://www.excitation.co.uk