pmpro_getMembershipLevelForUser
returns membership level for current user if parameter is not specified, and it will be anonymous user with high probability (depending on how you call it).
Use
pmpro_getMembershipLevelForUser($user->ID)
instead of
pmpro_getMembershipLevelForUser()