"The encryptbykey is working fine."
Are you sure? How did you check? Answer: by not getting errors until you tried to use the data...
Do yourself a favour, and stop storing encrypted passwords - they are a major security risk.
Why? Simple: you need to provide a password each time to decrypt them - so everything I need to get access to your passwords list is stored...with your encrypted passwords.
Instead, use Hashed passwords - these are not reversible functions so the original value cannot be "decrypted" and stolen. There is some info here:
Password Storage: How to do it.[
^] - it's C#, but it'll give you the idea.
And to answer your other question:
" If i change the symmetric key password in future, will the old encrypted data be lost?"
Oh yes. That is kinda the idea of encryption keys: only the actual key will decrypt the data - so if you change you key, all the old data is scrap because it won;t work with the new key.