Adam, if I understand your description (and I think I do, nicely described) you are correct in your explanation. If you update actual work in a single column (actual work, % complete, % work complete, etc.), Project simply applies the actual work against existing planned work. It doesn’t have enough information to determine “when” the actual work was performed. If you tell Project when the work is performed (using a timephased view), then Project has the information it needs to re-plan remaining work.
There isn’t really a “better” way other than to make the process simple. Customizing a usage view to how you gather information will help. Using Project Server to have team member enter actual work themselves is an obvious improvement if the number warrant the effort (in other words, you have a larger number of projects and team members). All this assumes that your original premise is that you need/want to enter actual work to track to budget.