McElhinney hrál čtyři roky univerzitní hokej na Coloradské vysoké škole a dostal se v letech 2003 a 2005 do 1. výběru ideální sestavy soutěže Western Collegiate Hockey Association a druhého výběru celé americké univerzitní organizace NCAA. Do NHL byl vybrán v draftu 2002 týmem Calgary Flames. V profesionálním hokeji debutoval v sezóně 2005/06 v lize American Hockey League za tým Omaha Ak-Sar-Ben Knights, kterému v sezóně 2006/07 pomohl k vytvoření klubového rekordu v počtu vítězných zápasů (44). V roce 2007 hrál v utkání hvězd ligy AHL a po sezóně byl jmenován jedním z hráčů druhé ideální sestavy ročníku AHL. Před sezónou 2007/08 odešel hrát za Quad City Flames, což byl farmářský celek klubu NHL: Calgary Flames, ke kterému byl občasně povoláván. Poprvé za Calgary a v NHL chytal 22. října 2007 v zápase proti San José Sharks, když vystřídal Miikku Kiprusoffa. Sezónu 2008/09 byl jako náhradní brankář Flames na soupisce po celou sezónu, ale ve svých prvních 13 zápasech nezaznamenal vítězství a až ve 14. zápase tuto neblahou sérii přetrhl 11. dubna 2009 při vítězství 4:1 nad Edmontonem Oilers. Před sezónou 2009/10 McElhinney prodloužil s Flames smlouvu o další dva roky. 3. března 2010 byl vyměněn do Anaheimu Ducks za Vesu Toskalu. Během sezóny 2010/11 byl v další brankářské směně 24. února 2011 vyměněn do Tampy Bay Lightning za Dana Ellise. Než stihl nastoupit za Tampu Bay, tak byl stáhnut z waiver listu týmem Ottawa Senators.