Not sure I follow this one - isn't the whole point to be able to run multiple passes? For example run several point light passes, an ambient pass and maybe a directional light pass in sequence and accumulate the output color? Isn't that why you need to work in linear space to additively blend the output from the various lighting passes? And then you need a texture which is in linear space and then only at the end after all lighting is done gets converted to SRGB when copied into the backbuffer?
I din't say you don't do multiple passes. I was trying to say that all the lighting calculations that use the diffuse buffer are done in the pixel shader of the last pass. Yes, you do use multiple passes and separate light buffers for different light types, and then blend those light buffers together, but that is not what the article is talking about in those paragraphs you quoted. Those light buffers do not store any color information AFAIK - they just store light intensities, which are always linear, so there's no discussion on them having to be transformed to/from linear. You only need to do gamma correction on the diffuse buffers.
Would someone else please correct his, if I am wrong again?
I think ajmiles' answer above pretty much clears up the confusion though... I suspected that the article is probably bogus (for OpenGL too, not just D3D), but I didn't know why exactly. I always set the _SRGB format on the source textures anyway.
And please ignore what I said about the formats... I've been away from D3D for a while.