Ofcourse, the MSISDN is used to determine the HLR addr of the MS, and cannot be used to determine the visited VLR where MS is roaming.
This is not because of the MSISDN has been used to determine the HLR addr (as u have said), this is because of the MSISDN is the fixed nbr, but the visited VLR may vary. Only the HLR knows where is the MS at the given time.
Is this answer for yr question? If still not, plz donot hesitate to let me know.