It looks like they just completely forgot to check if the item being won is stackable. Adding this as a new function somewhere:
1242: let R25, R250
let R26, R146
let R27, R147
let R28, R148
get_stackable_item_count R25, R29
ret
Then adding these two lines before the jmp in function 1108:
1108: leti R146, 00000003
leti R147, 00000010
leti R148, 00000000
leti R149, 00000000
leti R150, 00000000
leti R151, 00000000
leti R152, 00000000
leti R153, 00000000
leti R154, 00000000
leti R155, 00000000
leti R156, 00000000
leti R157, 00000000
item_create2 R146, R158
sync
window_msg 'You've won <color 1>Photon Drop<color 0>!'
winend
-----> call 1242
-----> jmpi_!= R29, 00000000, 1
jmpi_= R158, FFFFFFFF, 1130
ret
This fixes it, so that it only asks you to clear an inventory slot for a PD if you don't already have any in your inventory (which works fine!) Those two lines from above can also be added to functions 89, 686, 1025, 438, and 752 the same way, to fix the problem for Monomates, Sol Atomizers, Star Atomizers, and HP/TP Materials (since they are stackable on Ephinea.)
I attached the quest file with these changes also, if you would like to just use that.
(Edit: This also lets you keep re-rolling while you're at 10 Monomates/Sols/Stars, instead of having to go through the extra menus to give it up/sell for just 5 meseta. It will work the same if you have 99 PDs too, but as Matt mentioned, this shouldn't be an issue.)