Flange scripted primitive. Created with TurboSmooth in mind, so it's all-quad and has an Outline parameter to tighten the edge loops. The flange neck is optional, reducing its thickness to zero effectively gets rid of it.
Installation: Copy the .ms file to your scripts\startup folder or run as a script if you want to try it out first. The object primitive will be available under Examples in the Create panel.
Usage: Apart from changing the parameters of the object itself, you can also create helpers for bolt placement that can be then used with Subsitute or Clone and Replace to align screws to their position and transform. If you want to align the flange to a spline (pipe), the easiest way is to use the Path constraint, after that you can move the flange along the spline by drag-moving it.