I think you should move this into `if (new_device) {}`, because

- when `new_device=TRUE`, the plots are always recorded (this is what you want)
- when it is changed to `FALSE`, the user should take the responsibility of setting `dev.control(displaylist = "enable")`

According to `?dev.control`:

     ‘dev.control’ allows the user to control the recording of graphics
     operations in a device.  If ‘displaylist’ is ‘"inhibit"’
     (‘"enable"’) then recording is turned off (on). It is only safe to
     change this at the beginning of a plot (just before or just after
     a new page).  Initially recording is on for screen devices, and
     off for print devices.

This explains your question in #33.