This will duplicate the selected rows and put them before the first selected row. It leaves the original selection alone -- wasn't clear if that's what you wanted or whether you wanted the new duplicates to be selected.
Also, this has no error checking of its own, so if you have no document open or no rows selected it'll yield an error or silently do nothing.
Code:
tell application "OmniOutliner Professional"
set MyDoc to front document
set FirstRowID to id of first selected row of MyDoc
set FirstRow to a reference to row id FirstRowID of MyDoc
set MyRowIDs to id of every selected row of MyDoc
repeat with MyRowIndex from 1 to count of MyRowIDs -- force forward loop
set MyRowID to item MyRowIndex of MyRowIDs
duplicate row id MyRowID of MyDoc to before FirstRow
end repeat
end tell