To begin with, it really doesnt matter what your ugad major was to med schools, only that you performed well. That said, a 3.53 in Engineering is going to be more impressive than a 3.53 in the liberal arts.
Second, if I were you, I might seriously consider Columbia. Your gpa is strong, not great, but really good and about at the average for the MCP's and George Washingtons of the world with which Columbia has linkage agreements. It sounds like you already have soom good EC's. If you can get one or two good LOR's from undergrad, then you should really think about Columbia. Even though its expensive, it cuts down on the lag year--you could, concievably get in to Columbia's post-bacc this year and get into one of the schools with which they have linkage agreements for the 2005 entering class if you perform well in coursework and on the MCAT. I think this is best selling point of formal post-bacc programs. They are geared for applicants like you that have strong numbers already.
You can get good volunteer experience while in the program and pick up a letter of two from the professors/supervisors there. And even though it may be 30-40k more expensive, in the long run, you will be a praticing physician for one more year ($$$) so dont worry about the cost.
There are many other schools that have linkage agreements for post-baccs. I know Johns Hopkins and U of Penn have some but I really dont know is you're too late to get into the programs itself. I'm also not sure how early you have to apply to be in consideration for the linkage agreements. Your best bet if you're interested in this option is to call the program directors at these schools and ask them if you're competitive and when the deadlines, requirements are...