Earmarking revenue just gets worked around. If an agency's budget is $100M from the general operating budget, and $20M earmarked revenue suddenly comes in to that agency, their share of the general operating budget will simply be reduced to $80M.
It's the same reason why lottery revenue or (in California) bond approval propositions are typically earmarked for "noble causes" (schools, firefighters, parks...). It's a cheap promise to make, and the share of general operating revenue allocated to these departments can quietly decrease as lottery or bond financing replaces it, completely working around the spirit of the earmarking.
It sounds trivial to say but control of budgeting decisions is obtained through control of budgeting decisions; earmarking constraints are just accounting games to make spending more palatable to taxpayers.