assuming there is no error from perl side at line 904 , and the interpolation of the the $FindBin::Bin variable is happening correctly (this , along with value of $circos should / can be verified using perl -debug and putting a break at line 903) , the next thing to check is if the output directory (circos-p) exists on the windows machine , and is not read-only.
From an earlier question i had asked on PM , quoted strings can give undesirable results when system passes these strings to the shell. Try passing an argument list to system instead as shown in the link.
Going through the system documentation (perldoc -f system), On a technical note, you are not doing any error handling from the system command invocation to read standard error .