Well if anyone is ever interested in accomplishing this task, I managed to get it working using the method proposed above.

Create a private graphicsobject in the scene header and add it to the scene (this isnt absolutely necessary, but the other option would involve creating and destroying the object many times)

In the graphicsscene mousemoveevent:
Set the mouse cursor to the desired image
When the mouse is within the bounds of a "drop" location, set the graphicsobject to the mouse cursor image and the location to the top-left pixel of the "drop" location and set the mouse cursor to no cursor
When the mouse leaves a "drop" location, restore the image from the graphicsobject, hide it, and set it to the mouse cursor image

In the graphicsscene mousepressevent:
Check again to ensure mouse is within "drop" location
Add a new object to the scene containing the mouse image
Regardless of passing the check, restore mouse to original pointer, hide the graphicsobject (setting the pixmap to NULL generates errors on some systems, hide works across all platforms)