Does SID for a windows account (local, domain, Active Directory) ever changed once an account is created? If yes, under what conditions.
Yes it can change when you migrate an account to a new domain.
That's what the SidHistory
attribute in your AD account is for - you can look up all previous SIDs for that account.
See http://msdn.microsoft.com/en-us/library/ms679833%28VS.85%29.aspx for more details on the SidHistory attribute in AD.