I then do a bunch of checking and flow control, and if all conditions are met I attempt to convert to CSV, and write that to a server location.
I am able to write the file, but what I'm finding is that the tag values aren't included, and instead its just writing a bunch of commas. (see examples below):
The object key names in the first image don't match the column names in the second image, so it's difficult to understand what is going between the first image and the second image.
Your screenshot of the flow doesn't help since the configuration of the individual nodes isn't supplied, for example, what configuration are you using for your CSV node?
I would suggest - if this is still an issue - to include a copy of your flows.json. See this article for how to do that.