If the runner chooses to end the run the trace still happens right?
Data Raven subroutine
No.
To expand on that answer: look at the timing structure of a run. Data raven's tag-or-end-run happens at step 3.0, when the ICE is encountered. If the runner chooses to end the run here, you never reach the point where a subroutine is resolved.