lasmerge uses the LAS version and the point type of the very first file. If that file is a LAS 1.2 file then you should not merge more than 4 billion points (or 4,294,967,295 to be exact) into one file. I would argue that you should never (or almost never) merge billions of points into a single file when you already have them as a selection of other files. You can always merge on-the-fly without creating a redundant copy. And an on-the-fly merge of LAS 1.2 files will probably be consumed correctly by lasgrid (unless you run out of memory).
When lasmerge writes more than 4,294,967,295 into one file then the counters in the LASheader will overflow and go back to zero. That means that the point count will be set to 0 if you write 4,294,967,296 points,
will be set to 1 if you write 4,294,967,297 points, will be set to 11,00,000 if you write 4,295,967,296 points, and will be set to 100,000,000 if you write 4,394,967,296 points. In other words, don't do it.
If you really want to merge that many points from LAS 1.2 files into one merged file then make sure to use the LAS 1.4 format instead. Either by converting the first file of all files in the list of lasmerge from LAS 1.2 to LAS 1.4 or by using las2las instead:
las2las -i *.laz -merged -set_version 1.4 -o merged_14.laz
But all that said I would never do any of the above but rather work with a tile-based workflow so that you can also run on multiple cores
lastile -i *.laz -merged -tile_size 1000 -odir temp -o temp.laz