Not sure about the file original, but the error message is familiar to me, and I'm actually working on this issue in-house. There is another opened thread here with this error, so I'll update both threads once the solution is found.
1) When the file is made and the message is recorded?
The file is generated during few specific failed instances of the job. Not every failure will generate it. One way to generate the file is to have one of the key agent files locked, run the deploy job, have the deploy job sit there without being able to progress due to locked file, and then kill the Deploy Job. Once you kill the deploy job, this file is generated.
That's another thing: it only seems to affect Deploy Jobs, and the file is generated by bltargetjobmanager.exe (which is part of the deploy job)
2) What's the cause of the message that is printed?
The message was generated by the deploy job. This deploy job most likely rebooted the server in the middle and was resumed to continue running. After the server restarts during deploy job, there is a file left behind [rscd_dir]/Transactions/locks/writer.lck or reboot.lck. This file contains information about previous bldeploy.exe process that ran before the reboot. The job now tries to look up the PID from that file, and fails with the error message you see. The root cause is presently unknown, but once it's resolved, I'll update original thread with the solution: https://communities.bmc.com/communities/thread/65885, but the message could be anything in blbasic... I'll keep this thread focused to blbasic; bookmark the other post for "access is denied" issue if interested
3) Is blbasic relocatable? if relocatable, please tell me how to relocate.
The file is not presently relocatable, and here's the tracking number for feature enhancement: RFE QM001769314