Was one of the shots he had at the last visit tetanus? That can make your arm hurt for days, drawing blood will not. I would NOT tell him ahead of time that he is going to the dr because you are right that he would be anxious all day. Tell him where you are going when you pick him up or while you are on the way to the drs. Tell him as little as possible - maybe he won't be freaked out that day. BUT, don't lie to him if he asks questions.
You need to ignore the guilty conscience for telling him there will be no more shots until he is 9, and be as calm, relaxed and normal as possible.
Again, less is more, but here are a bunch of things you can say if he is asking questions or worried about it.
Tell him no he won't be getting a shot, but the Dr will be drawing some blood from his arm with a needle. This is a "special test" you and the dr didn't know about - see, you didn't lie to him :)
Tell him the shots hurt MORE than the test because the dr is pushing something under the skin with the needle and it stretches the skin and makes the arm hurt. The test hurts less because the dr takes a teeny amount of blood out of the arm, so tiny that it would take 250 of those to fill a drinking glass. Then see if he can count up to 250.
I would explain to him that you know the last shots hurt (3 at once is a little much!) and that this test will not hurt like the last time (even though it will hurt a little). Tell him for some people the test doesn't hurt at all! Again, if the last one included a tetanus shot, i would emphasize that even grownups don't like that shot, but that this will not hurt like that.
If he can be a big brave boy and keep his arm nice and still it will hurt a lot less. Since this is a "special test", if he's brave he can get a "special treat" - just keep it small, in case the results of this will require more tests in the future.
Also, make sure he drinks a lot that day, the more hydrated he is the easier it will be. I would have him drink in the car on the way to the dr's office as well as throughout the day.
Good luck!