diagonals could possibly "work" if you allowed the fluid to "interesect" (pass onto the the cell with a diagnol in it), you could only allow for full cell or 45deg cell, but that would allow you to approximate a shape acceptably, if the fluid passes onto a 45 deg cell it would be treated as a normal cell, not a solid cell, but still would deflect the velocity vector in that cell based on the 45deg angle and previous velocity(?) (dont know if youre implementation stores that) however you would do that or something similar.
i dunno just putting ideas out there, again im not sure of your implementation so i dont know if my ideas are possible/would work
i wouldnt mind if fluid could pass into 45 deg angled solids like that, seeing as solids would probably be infront of fluid gfx anyways.
sounds good about the particle advection.
oh yea, was wondering if implementing gravity onto the fluid is also a possibility, i would imagine its a simple case of adding/doing gravitational acceleration to the y velocity vector? you know to add a kinda heavy smokey-ness like when dry ice releases gas.