adb pull says it pulled all of the files from my Android phone into my Windows PC but in reality it didn't
Just pulling all files via adb to a WIndows computer has multiple problems:


Android/Linux allows multiple files in one directory that just differ in their case. 
The file-system on Linux allow characters in file- and directory names that are disallowed on Windows
Some file-names are completely disallowed on Windows which are just regular file-names on Linux/Android
There is a path limit as you have already mention that may cause trouble


Hence the best solution to create a full backup of the sd-card is to pack all files into one tar archive as all file-system limitation of Windows can bypassed using this method.

Via adb you create a full backup of the sd-card using the following command:

adb exec-out "cd /storage/emulated/0 &amp;&amp; tar c * -" &gt; sdcard.tar


This command creates the tar archive on the device and directly streams the data of the tar archive through adb to your PC and saves it there as sdcard.tar.