1) Do NOT use the organic acid long life coolants (aka Dexcool) in a BMW.
2) Use distilled water with your coolant unless you are fortunate enough to have really soft (snowmelt) water where you live. Don't use salt-softened water. A cup or two of distilled water is fine for occasional topoffs. You won't add enough water to appreciably change the 50/50 coolant/water proportional mix over the 3 years between coolant changes.
3) Best to use BMW branded coolant. It is ethylene glycol with no silicates, phosphates, or nitrates. BMW sells only one coolant to the best of my knowledge. You can buy it on line from Pelican or Tischer BMW or Autohaus or several other vendors for about $21/gal, which is cheaper than you can get it from the dealer, even after paying shipping.
4) Yes, you read correctly on item #2. Change your coolant every three years. On a 2001, you should be changing it for the third time by now.
Unrelated but while I am preaching - Change your brake fluid every three years as well. On a 2001, every drop of fluid in that car is due for replacement if it has not been replaced already. I know BMW says that your power steering fluid and transmission fluid are 'permanent'. Synthetic ATF lasts a very long time, but NO fluid is permanent if you plan on driving your car 300k miles as I do. I recently sold one with 300k miles that still looks and runs great, and my daughter is driving one with over 250k on it. If you have a manual, don't forget to flush the brake fluid from the clutch slave cylinder.
If you find that you are getting the warning light although the water level is up, you may have air in the coolant. Not sure about the e46, but on the e36s, chronic air in the coolant can be caused by the reservoir getting brittle and crumbling inside.