You are definitely on the right track with being honest with your son. When I was 5 I had hospital tests and to this day (I'm 36), i remember being deceived about what was going to happen. Here's what I suggest:
Be firm but loving to your son. (Remember ultimately you *are* in charge, and he WILL have to have these tests.) Remind him that Mommy is always honest with him, and that you would never let anything that was bad for him happen to him. Remind him he can trust you. I'm sure you've already told him that having blood taken is no worse than having a shot (and I personally think it's easier and less painful!), and that the Barium swallow won't hurt at all, and it will help figure out what's wrong and help him feel better. Be sure to be as positive and encouraging as you can without lying to him. Be cheerful but firm. Kids pick up on our emotional reactions, so be sure to be strong for his sake. Ultimately, you may have to hold him down and weather the tantrum, and I know that is SO emotionally painful as a parent. When he grows up, he'll understand the reasons and respect you for it, and there won't be any lingering resentment about having been deceived.
S., SAHM of 4 boys