Hi! Sorry for the late reply, but I did not get your notification. It's a very interesting post so I want to give you an answer anyway.
You are right that the way the game is coded makes it so sometimes it's a 50/50 shot guessing who the killer was. While I noticed that I had no time to find a way around it. I meant to have slightly more complex witness mechanics but unfortunately no time to implement them.
However, as far as I can remember, it should always be 100% possible identifying the murder weapon. This is because map positioning is actually taken into consideration, despite what you may have thought, although not with the level of complexity you expected. Witnesses aren't able to comment on movement, they only know whether somebody was with them or not. The killer however DOES take into consideration the position of other pieces while carrying out the murder and not before.
Simply put, this means that since Acid was in the Master Bedroom, once Lilac was in the bathroom, she could only use whatever she found in the bathroom to kill whoever the victim was. So she had to take the painkiller from the medicine cabinet and then hide it in the washing machine after the murder.
This is because each room has at least 3 elements: a weapon spawn and a weapon hiding spot. Originally I planned for some weapons to be able to be put back (for example, the painkiller bottle could be put back on the sink, while of course a knife would have to be hidden somewhere else) but this didn't make it in. This means that, if you find an item outside of its spawn, you can always be sure it's the murder weapon.
Anyway, once Lilac took the painkillers and murdered the victim, the algorithm looked for a hiding spot. Since the next room over was blocked, the only hiding spot available was the washing machine in the very same room, so she put the painkiller there. Had Acid been in another room, and the master bedroom been free, she could have decided to exit the bathroom with the bottle in hand and hide it in the closet.
I am really fond of this little game because I had lots of fun making it, but it is undeniable that it was severely limited by being an experimental jam project, my first Godot project, and the fact I am not that good of a game designer to begin with. I'm happy you still enjoyed it, tho, and I thank you for your comment.