In one wallet I received .001 BTC and the transaction details show a mining fee of .0016 BTC, actually more than I transferred. My .001 BTC are in my wallet and confirmed and also from my Bitstamp account no extra fees were deducted.
It sounds like BitStamp paid that fee for you.
Pls help me understand how mining fees are calculated,
Mining fees are voluntary. They are calculated by the person or software that is creating the transaction. If you voluntarily pay a fee that is significantly less than what others are paying, you will likely have to wait a very long time for your transaction to be confirmed. If you voluntarily pay a fee that is significantly more than what others are paying, you will likely have your transaction confirmed in the next block.
Most wallets and services monitor the other transactions on the network and attempt to pay a reasonable fee so that you don't pay more than necessary, but can still get your transaction confirmed quickly.
at which point in the transaction they are deducted
If you have an account with a service, then the service decides if or when to deduct money from your account.
If you are running your own bitcoin wallet, then the wallet will add the fees into the transactions that you send when it builds those transactions.
and by whom
The transaction is created by the person or software that is sending the transaction. Whomever (or whatever) builds that transaction has control over how much fee to include.
and how it is possible that I paid no fee for all those tiny transactions.
It is possible to send a transaction with no fee at all. In that case, it is likely to take a VERY long time for the transaction to confirm.
More often, if you are using a service, then the service may pay the fee for you.