In a simple parfor loop every thread should be independent of every other.
I'm not sure why you specifically don't want to use fprintf statements though. If you really want to write 500 log files this seems like the simplest way. I have previously used parfor loops writing each to their own file which worked well for what I wanted.
One of the easiest first ports of call for bugs in parfor loops though is to switch out the parfor for a regular for loop and see if you have the same problem. If you do then obviously you can ignore the parallel aspect and debug normally. If you don't get the problem then you can at least be sure it is related to the parfor specifically.
