Did I lost my balance by using an old wallet.dat? I saved a copy of my wallet.dat as a backup, i used it to transfer 1 btc to another address, now it's got 1 btc less in the total. now I deleted the wallet.dat and open the wallet with the saved wallet.dat before the transaction, I can see a higher balance(it not showing 1 btc off). how could it be? do I lost my whole balance from not saving the newest wallet.dat?
Ack! You certainly could have.

When you send bitcoin, the "change" is returned to an address that you have not previously used to protect your privacy. If your wallet.dat files doesn't contain any unused addresses, a new one is generated and the corresponding private key stored back in the wallet.dat file. If this happened, and you didn't save the new file, you may not have the address the change from that transaction was returned to.

I believe that newer implementations of the bitcoin core wallet make this much less unlikely.