@clevername27 so I think you are on the right path with option2.
First you need some method(script) to record MIDI events arriving, and more specifically their time (as ppq?). So some "record" button that sets the script in ready mode, and on first event defines this as "start time", then everything is an offset from there until the user stops recording.
At this point you would have a long list of events, so playback should be pretty simple - especially if you are using ppq instead of milliseconds - so the playback can be tempo aligned with the DAW tempo