What is the proper way to store data into a frame buffer?
As you work out the pixels in each line you would calculate the bits in the frame buffer to set for that pixel.  This would depend on the frame buffer organisation and number of bits per pixel.  As you suggest drawing 10 overlapping lines means the same address is accessed multiple times, and again as the number of lines increases then you may not be able to draw all the lines before the frame scan.

This does not affect the drawing process though and you don't need to complete the rendering process before the frame is sent to the screen but it will result in flickering.  In fact you will get flickering and this is where a second buffer would be used.

Image you have draw a complicated shape on the screen which needs to be rotated by 5 degrees.  The display is sent the information from buffer 1.  You calculate the new lines and write to buffer 2 while continuing to show bufer 1. Once complete you then wait for the last line to be displayed from the current buffer1 and switch the display logic so on the next scan it displays buffer2.  All further writes are then to Buffer 1 until ready to switch back.

This is why on typical games benchmarks you may see frame rates drop to 12fps in complicated scenes.  Not becauses the display drops from 60fps but because the same frame is displayed 5 times before the new frame is ready to be drawn.