You should always charge on-site for those who have not pre registered for the exhibit. The attendees are there anyway and will not object—provided, of course, that you have a killer"Unique Rationale" (see Tip #2). But be sure the on-site fee has been well publicized.
One show started by charging $15 on-site in 1997, went to $25 in 1998 and $45 in 1999 with no decrease in on-site registration numbers. In 1999, 7000 people paid the $45 for a nice revenue bump of $300,000. But you cannot wimp out and drop the charge at the last minute.
One firm purposely charges high on-site fees for the exhibit (in the order of $100) to incent people to pre register. The downside is that some walk-up attendees may leave if the price is too high.
The next step is to bite the bullet and charge everyone pre-show for the exhibit. More on that in a future Tip.