Ability to move an opened file safely depends on specifics of a program opening that file. A program may operate on an opened file using its file name, or using a handle returned by OS. If it operates on handle, then on a Unix-like OS, moving the file does not invalidate the handle, and following file operations on the handle will affect the same file (keeping the same inode) in the new place.
But if the program operates on the file name, then moving the file to another place does not magically modify the program’s remembered path to the initially opened file. When it will start writing to the file, it would use the same old path, and re-create a new file in old place (in the best case; or it may crash not finding the file at old place). And different programs have different needs and peculiarities, so unless you know its innards as developer, I’d suppose it’s always unsafe to move opened files.