Hi
You might as well want to add Read, Append, AppendTo permission on Opportunity products. (Mostly there are lot of additonal permissions except the entities you are using, that you need to assign users).
When they get permission issue, do you see a "Download Log" button on the error alert window.
In the error log, mostly you get to know what privileges user is missing.
If its not visible here, you can refer to Trace Logs of CRM on the server.
You will see something of this sort in Trace Logs. Principal user (Id=GUID, type = 8) is
missing prvRead[entity name] privilege (Id=GUID)