In the end it turns out my XP bar works perfectly fine, it's just that the roommate was level 90.
So now I suppose I should get it to check for level and if layer is capped turn it off. (not sure how to do this, but a quick API search should prove fruitful)
EDIT:
maybe something like
Lua Code:
if playerMaxXP = UnitXPMax("player") then
return
else
--XP bar code here
end
not sure if that's correct
Maybe I can finally get around to adding rep support I've never really been concerned with.