Can I prevent users from going over budget on PTO?
Yes, but the specific method depends on how your PTO is configured.
If you use projects only, then you can select the check box for Enforce Project/Task Dates on the project’s Budget tab. The person assignment must have Allow the budget to be exceeded unchecked. However, you also have to uncheck the Self Assign box on the project’s Access tab. When checked, this allows users to charge an unlimited amount of hours in any date range to that project.
If you use Accrual plans to accrue the PTO hours, you have to edit the plans via Admin > Setup > Time > Accrual Plans. On each accrual plan’s Schedule tab is an Exceed check box, one for each line in the accrual schedule. You should uncheck these boxes to prevent users from overcharging PTO hours. Note that the accrual plan Exceed box being checked will overwrite the accrual project assignments Allow the budget to be exceeded box each time that accrual plan is posted. If you don't uncheck Exceed on the accrual plan, the accrual assignments will allow the budget to be exceeded after the next posting of the accrual plan.
One last item to check is Organizational Assignments. On your PTO project(s), click People Assignments on the left menu. Next, click on Organizations on the left menu if it is enabled. For any organization listed on that Organizations page, all users in that organization can charge unlimited hours to the project. To keep users to their assignment budget, the Organizational Assignments will have to be removed.