Even though I have assigned the proper security roles to a user, they are still receiving security errors.

SnapShot! uses the Dynamics CRM SDK to extract all information from the system. When working with security roles, an SDK method is used that reports the security applied to a user, after all of their security has been applied. If you look at the User Privileges report for that user, you will see that they only have read-access to most fields.

In all likelihood, this is caused by the License Type for the user being set to Read Only or Administrative.