Just to throw it out there, a method I've used in the past is to create a set of features (in my case I was creating a hexagon for a hex map) and then use Cloner/Offsetter to create a grid of features.Since the grid of points in this case has a consistent spacing then it should work fine.
So use Creators to create a single set of lines, then count/clone them, and use the Offsetter to offset them in the x/y axis by offset*clone number (or something like that).
Of course neighbourfinder is viable, in some cases...being squares...
Simply doing coordinate swapping makes it easier to non squares...
Try neighbourfinder approach on this..;)
No need for neighbourfinder or listbuilding of course..just use boundsextractor, vertexcreator and...swap coords.
I had some fun with this one.
Have a look at the attached workspace.