Is the value for the position column in the database unique? If not you would want to ORDER by both the position and the id for consistency between pages.
You are going to have to order by the same columns on the details page that you did on the results page for your next and previous recordsets. Then you are going to also filter based on the position of the current record and not the id of the current record. To do this you would probably want to store the value from the first recordset into a $_GET variable after the main recordset but before the previous and next recordsets like:
$_GET['position'] = $row_WADAartworks['position'];
Now you would update your next and previous recordsets to find their positions based on the current postion (and ID if position isn't unique).
It might look like:
SELECT id FROM artworks WHERE position > %s ORDER BY position, id LIMIT 1
If position isn't unique it would be:
SELECT id FROM artworks WHERE position > %s and id > %s ORDER BY position, id LIMIT 1