View Single Post
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