what i did after the incident was to repartition the hdd into two and gave the partitions drive letters P & Q. that way up to now, no problems exist. and when i plug the device for another computer say an XP machine, the drive letters became F and G or H and I (depends on the system's recognition the first time you plug the device). it only changes when you inserted back the portable hdd and windows 7 prompts to reformat the drive and you do so giving it the letter after it's present drive letter (say it's J and you are prompted to format, it now becomes K)
Well, assigned drive letters have nothing to do with the physical hard drive itself and the partitions on it. Drive letters are assigned by the Windows operating system you're running on, depending on other partitions, devices, and drive letters already assigned.
You can use DISKMGMT in both WinXP and Win7 to change drive letters to whatever you want. So ideally, for convenience and understandability and consistency, you should obviously want to assign the same drive letters (say P and Q) to the partitions of the external drive in both Win7 and WinXP. And of course once you do this, those letters should stick as long as you keep the drive plugged in and don't remove it.
But if you unplug the drive and plug it back in, the reconnected partitions will once again get new dynamically assigned drive letters... normally the next available letters for that particular Windows OS. These letters will remain in effect as long as you don't unplug the drive.
So, as long as you don't manually change drive letters in a given Windows AFTER you plug the drive in and get letters dynamically assigned by Windows but rather just leave the letters that get assigned, and as long as you don't plug in any other device which also gets a dynamically assigned drive letter, you can count on the same drive letters getting assigned by that particular Windows each time.
But if your Win7 and WinXP systems have different "fixed" drive letters for your permanently connected devices, that means the "next available drive letter" is going to be different for your two Windows systems. And thus when you plug in the external drive, the dynamically assigned "next available" letters are guaranteed not to be the same for your Win7 vs. WinXP environment.
There's really no way to avoid this with removable devices and dynamically assigned drive letters.