f you only got a few B's freshman year, then it doesn't sound like your GPA is hurting as much as you describe it. If your school is one of the most competitive in the area, then the fact that you took harder courses will only help you. Also, given your description of your school, it sounds like your guidance counselors should be adept and able to vouch for you on your application (if you still feel like your GPA doesn't get to where it wants to be). (Your guidance counselor has to write you a letter of recommendation for college apps).
As for your SAT score, I personally got 2250 (only took it once, though). My friends at school have ranged from 2000-2300, so if you can get 2200+ you will be solid. How are you prepping for the SAT? Are you studying from a book or taking a class? I didn't do any of the princeton review classes, because they mostly just try to force you to take practice tests and study. However, if you already have the drive and self-discipline to study on your own, then just getting a book is best. Do as many of the practice tests from that big blue SAT book as you can, and perhaps take a look at the book: "Barron's SAT 2400." That book has had much success for me and a few of my friends.
Your extracurriculars seem good, especially the programming for the disabled. That will be a huge selling point when applying to engineering schools, imo.
Cornell Engineering is the top engineering program among the ivy league schools, but not in the nation. However, I don't think that it's out of your reach at all. A kid at my school just got in this year with stats similar to what yours will be. And you may have a misconception about Cornell, because its ntoed as "the easiest ivy to get into, but the hardest to graduate from." There aren't that many valedictorians, but just a lot of bright, hardworking kids. Honestly, I feel the other ivies like Harvard and Yale get all the valedictorians haha. That;s not to say there aren't extremely smart kids at Cornell - trust me, I feel humbled every day.
Keep working at those SATs, don't forget to take your SAT II's, and keep taking the hardest classes at your school. If you still feel like your GPA is too low, then there are places on the applications where you can give "additional info." There, you can include why your freshman year grades were low; they should be pretty understanding. I'm just saying that this is always an option, though it could be conceived as making an excuse. The main point here is: don't worry so much about your past GPA, because it can be accommodated for.
Finally, if Cornell is your reach school, then apply early decision to the engineering school. Your chances increase a lot. I do suggest that you apply somewhere early action and/or early decision, though.