randomly
I'm unable to see what's amiss. I don't have access to C2 and what you want to do is different enough it's probably easier to start from scratch.
In regard to the alternate idea in my last post to calculate the impact point exactly: the process is to use algebra to manipulate the first equation into the form ax^2+bx+c=0 and use the quadratic formula to solve for x. Well except it will be time in the equation. Anyways we can disregard that one for now.
You said the bullet behavior doesn't give X and y velocty. While this is true, you still can convert it over:
Vx = speed*cos(angleofmotion)
Vy = speed*sin(angleofmotion)
You can also convert it the other way
Angleofmotion = angle(0,0,vx,vy)
Speed = distance(0,0,vx,vy)
The most complicated bit of the original example are these three actions:
add vx*dt to X
Add gravity*dt to vy
Add vy*dt to y
Those change the velocity and position to what they would be after dt seconds. You can replace dt with any duration you like. Next put those actions under a repeat condition and it is done multiple times. So say you repeat 10 times and use 0.1 instead of dt, it'll calculate where the position will be after 10*0.1 or 1second.
I did skip a step though. Before the repeat you need to set X,y,vx and vy to what the bullet is currently. As a sub-event of the repeat event you can check so see if y is below the ground level, and then stop the loop and place the marker.
Alternatively you could position a second Sprite at the bullet and move that instead of using Xy variables.