Couldn't leave well enough alone, so I cobbled a very rough script together :-)
Code:
tell front document of application "OmniOutliner Professional"
set theCount to (count of selected rows)
set theTasksStr to ""
repeat with i from 1 to theCount
-- convert Action Context StartDate DueDate Duration to
-- action @context #start date #due date $duration
set theTasksStr to text of cell 2 of (item i of selected rows) & " @" & text of cell 3 of (item i of selected rows) & " #" & text of cell 4 of (item i of selected rows) & " #" & text of cell 5 of (item i of selected rows) & " $" & text of cell 6 of (item i of selected rows)
-- parse tasks as single task appears to be broken, always get a single multi-line task, so do it one row at a time
tell application "OmniFocus"
tell front document
parse tasks with transport text theTasksStr
end tell
end tell
end repeat
end tell
Did turn up what looks to be a bug, though! parse tasks takes an optional argument to control whether a multi-line input generates multiple rows or a single row, but in actual practice, you always get one row, it seems.