This happens when File Status Auto-Detection is disabled. This is necessary when working with slow network shares.
Open read only file (stored in Perforce, TFS etc.)
Outside of npp mark it as read-write - manually or by executing source control command
Back in npp
Reload file from disk
file is marked as RW on the tab (blue icon instead of grey)
File status is not refreshed
Clear read only flag from npp
Try to save
Complains that file is used by another program
It looks like reloading file from disk messes up stuff. If I skip that step and just mark file as RW then it is fine. However it can be frustrating if forgotten and using perforce or similar.