You should be charging some mark-up, in my opinion. You have overhead associated with obtaining parts, and then providing a reasonable warranty on those parts. (OK, even if you don't warrant parts, you probably would still take care of a customer is something failed right away, right? That's overhead.)
Using your own money, even if you'll be paid back in a day, is overhead. Your time to order the parts and deal with shipping...that's overhead. All of those things are worth something, otherwise every customer could just go get their own parts and have us install them.
The idea isn't necessarily that you're making money on the mark-up. It's that you're covering your time and money. If you want to make a little extra on parts, nobody's stopping you from doing that, either. Plumbers, electricians, mechanics...basically everyone whose main job is service...they all charge a markup on parts because there is an overhead involved. Computer repair isn't any different.