When you #repop a zone, it takes a few seconds to load the grids, thus causing the npcs to not have WPs at first then they show up, so give a few sec after repopping a zone. To assign a npc to its own grid, you use command #gassign #, where the # is the number of grid you want assigned. You can tell how many grids are in the zone by using #grid max, #wpinfo will show you the WPs of a NPC assigned to a grid. If it is not assigned then it will show as Grid0 and 0/0 WP. IF the 3rd NPC is not following a grid you created then you may need to check the #gassign.
Edit: I have done a lot of pathing for a few years now. I did a lot of pathing work on p99 Kunark as well(dunno if i can mention that lol). Here is the notes I took, maybe they will help you, and others.
#wpinfo - Target an NPC and use this to retrieve GRID and WP information assigned to it.
#spawnfix - changes spawn location of a mob
#grid max
GRID 0 = no pathing
0/0 bugged grid with no waypoints.
#gassign gridnum - Target an NPC and use this to assign it to a grid.
To set a NPC to a grid, simply #gassign a targetted NPC, and all NPC's spawned by that spawngroup will
adhere to the selected grid. An NPC assigned to a grid will simply start wandering it after spawning and #repop.
---------------------------------------------------------------------------------------------------------------------
#grid add/delete gridnum wandertype pausetype - Adds grid gridnum with the wandertype/pausetype, or deletes
(example)
#grid add 17 3 1
Definition: Adds grid17 with Wandertype3 with Pausetype1
Wandertype
0: Circular. NPC will cycle waypoints in order, then head back to the first waypoint.
1: Random 10. NPC will pick a random of the nearest 10 waypoints and go to it. (Was broke and crashed zone.exe last I tried over 6 months ago)
2: Random. NPCwill pick a random waypoint in the grid and go to it.
3: Patrol. NPC will walk the waypoints to the end, then turn and backtrack.
Pausetype
0: Random half. NPC pauses for half of it's pause time + random of half it's pause time.
1: Full. NPC pauses for full pause time.
2: Random. NPC pauses for random of it's pause time.
----------------------------------------------------------------------------------------------------------------------
#wp add/delete grid_num pause wp_num - Adds waypoint number wp_num to grid grid_num with a pause of pause on the location you're
standing at, or deletes waypoint number wp_num in grid number grid_num (just leave pause at 0)
(example)
#wp add 17 10 1
Definition: Add WP1 with 10secpause to grid17