In Kunta's warehouse where Marco grabs the gun and shoots the drugs and weaponry, when he becomes transparent the gun also becomes transparent.
Even though Marco (Naseerudin Shah) is a ghost who is invisible to everyone except Sunder (Shah Rukh Khan), he is frequently shown casting shadows as well as other people's and objects' shadows being cast on him.
When the magic show is displayed, you can see the ghost's shadow. So, although only one man could see and hear the ghost, the citizens can see his shadow.
During the final fight scene when Marco presses the faces of the villains with his hands and the audience only see the faces getting squashed, it is clearly visible that they are pushing their faces against a glass pane.
Marco's flashback is set circa 1972, but you see many objects like 1980s cars, and phones made around 1989.
When Marco disappears while Sunder is yelling "You forgot your hat!" you can see that the position of the camera view has changed, which makes it obvious that they turned off the camera so the actor can move out of the way.