....but what is the BA doing while the solution is being developed?
To me, User Acceptance Testing is performed by Users, not IT project team members.
I think what we have here is two ways of delivery and testing; in the way I am used to, BA's take a project from initiation to requirements to design, developers go from design to build to unit test, and QA takes it from system testing into UAT. There is a lot of overlap as the work moves from one role to the next, especially QA who are involved in validating requirements to ensure they are testable. Overall, this means that each role primarily works on the part of the project they are best at, moving to the next project as needed. I agree, sometimes a BA may get called back in to assist with test phase issues, but that is as needed rather than always being involved.
... but there is more than one way to skin a cat (if its ok to say that anymore). Neither way is perfect, but you can use either if it works at your company.