this may sound really dumb...but
try lsattr. Not sure why anything would get set that way. We use at work to block people from making changes alot. then again, with out the specific steps need to reproduce your error it may be kinda hard to figure out.
EXAMPLE:
Code:
$ touch test.txt
o_o$ lsattr -V test.txt
lsattr 1.41.11 (14-Mar-2010)
-----------------e- test.txt
0_o$ chattr -V +ia test.txt; ll test.txt
chattr 1.41.11 (14-Mar-2010)
Flags of test.txt set as ----ia-----------e-
chattr: Operation not permitted while setting flags on test.txt
-rw-r--r-- 1 0_o 0_o 0 2011-08-26 18:38 test.txt
chattr 1.41.11 (14-Mar-2010)
Flags of test.txt set as ----ia-----------e-
chattr: Operation not permitted while setting flags on test.txt
So, if you see ia after running lsattr against your file that might be a bump in the road.