It could very well be related to the scope. If you have a user who has a scope to only see computers in a specific group then he won't be able to provision a machine if it's not part of that scope. The way I understand it is that provisioning creates a task on behalf of the user and only runs on machines that user can see. One thing you can do is create an account that has a scope of "All devices" but with a role for only provisioning. That way that account can't be used to remote control or do other things to the machines. Depending on your policy, this may or may not work for you.
Where I work at we dont use provisioning for the imaging part. We use OSD to image and then have provisioning kick off automatically when the machine is in the OS. We use a service account for the provisioning part.
Check prov_schedule.exe.log in \\core\ldmain\log, you'll find the error.
Here is the query I use to get around the issue you are describing:
"Computer"."Device ID" = "Unassigned" OR ("Computer"."LANDesk Management"."Agent Configuration Name" NOT EXISTS AND "Computer"."Device Name" <> "Core Server")
Create a new scope and create this query in it, then assign it to the people who will be provisioning (I assign it to everone who has a scope). You do not need the part after the OR. Depending how you do scopes you might want something else in there also.
The mini scan in WinPE sets deviceID to 'unassigned' for new devices, and the limited admin should have access to a device that is already in their scope. You may need to modify things if machines are moving between scopes.
Thanks for your answers.
I've checked the log file, but couldn't find any strange things.
I've also created the seperate scope as suggested here above, and tried this with a user which was having problems.
This seems to work for him.
I'll try this at other users who have this problem, and I'll update the post here with our findings.