flymake uses flake8 to check the errors, so you have to tell flake8 which errors you don't want to see. You can do that globally by creating the file ~/.config/flake8, with the following content:
ignore = E303
You can also create a setup.cfg at the root of your project, with the same syntax, to have different settings per project.
Make sure to ...
Packages on ELPA are supported by GNU, and that version of flymake is clearly marked as an official part of Emacs (check the header of flymake.el).
Flymake 0.3 is the version that ships as part of Emacs. Version 1.08 is a newer version of the same package available from Elpa.
So, to answer your questions:
The official documentation refers to an old ...
The functions in this hook diagnose problems in a buffer’s contents and provide information to the Flymake user interface about where and how to annotate problems diagnosed in a buffer.
Just remove function that you don't need like this:
(remove-hook 'flymake-diagnostic-functions 'flymake-function-that-you-dont-need)
diff-hl-dired-mode in the diff-hl package certainly has the desired fringe display. Indicating errors on only opened files may be straight forward. Running flycheck on unopened files would probably present a bigger challenge. Anyway, maybe the buffer list approach is the best after all! :-)
I confirm that flymake can now find the R executable. The line (setq inferior-ess-r-program "/usr/local/bin/R") was the problem: without the line, I (executable-find "R") returns nil and I get this warning twice:
Warning (flymake): Disabling backend flymake-proc-legacy-flymake because (error Can’t find a suitable init function)
I added that ...