I believe that from several times I've read through freelance-related discussion on this site that the recommendation is explicitly not to charge per project. The reason being that it can be very hard to estimate the total time required for the project. Additionally, once a customer has payed they might say "oh, we though you knew that this (previously unmentioned) feature was required when we paid you." Scope creep, tweaks, rewrites, and any change in customer expectation hits your pocket, not theirs, when you charge per project.
When you charge per hour you make sure you are getting payed for all the work you are performing. However, I often see it recommended that you charge per week (best) or per day (next best). I believe the rationale behind the per week (or per day) pricing model is that it weeds out the customers that are just looking for the cheapest labor they can find, leaving only those that are serious about a project and can commit to paying reasonably for the work.