The movement detection module is probably the best one use for detecting abandoned objects.
There is a lot to play around with in that module so I'd recommend taking a video of the object as it is placed in the scene and for as long as it would take to be considered abandoned. The reason is that you can then play back the video many times while trying various settings to see which one works best for you.
Note that the trick to abandoned objects is to remove the background from the newly placed object and then sound an alert if that object does not change in any way for a period of time.
The problem with background subtraction is if you have a similar colored/textured object as the background that it is sitting on then the background subtraction may also remove the object itself since they are similar. In these cases, you have to either use a depth sensor of sorts (kinect, stereo, etc) or some environmental change (lighting, lasers, etc) in order to segment the object from the background. It will largely depend on the environment that you are operating in.
Lighting as you mention is also a problem. If you can update the background over time (thus the specification of # of frames to use as the background in the module) that will help. Other sensors such as depth, will eliminate that dependency since the depth map is what is used to determine abandoned objects instead of the raw RGB image.
If you have trouble finding the right combination, post the video here and we can take a look further to see what might work.