[Moto G4 Plus Questions & Answers] echo92:
Good to hear your device is working again, seems like it's been through a journey.

1)When you originally rooted, were you on stock Nougat (7.0)? If so, those rooting guides will not work and are likely for Marshmallow 6.0 systems only. What they fail to mention is that attempting to root whilst still on the stock Motorola Nougat kernel likely causes your device to not boot. The Nougat 7.0 stock kernel for our devices seems to be much stricter than the Marshmallow kernel when it comes to anti-rooting protections. Thus, we generally need to flash a custom kernel onto our devices before rooting - either with SuperSU or magisk. An example of a working guide for rooting on stock Nougat Moto G4/Plus is here: https://xdaforums.com/moto-g4-plus/how-to/guide-root-moto-g4-plus-supersu-android-t3587918

2)Do you remember what the OTA you received was? I don't think there's an OTA for a build later than NPJS25.93-14-13 out yet. That suggests that the NPJS25.93-14-13 flash didn't work - did you check if the bash script reported [OKAY] after each command? By brick, do you mean the device had a blinking LED light, and there was no screen, and you were unable to boot to the bootloader and/or recovery? If the flash didn't work, then you may have taken a Marshmallow to Nougat OTA (NPJ25.93-14) which may have corrupted your device bootloader in the process.

3)OTAs are generally available for a particular build and for a particular software channel when they are released. For NPJS25.93-14-13, that's currently the latest build for EU/UK, Brazil and India devices, and there's word that there's a February 2018 OTA coming soon (no sign of it yet).

However, for your device (XT1644), if you are on the retUS - retail US - software channel, your device is on a different update path - NPJ25.93-14.7 would be the corresponding September 2017 patch for retUS software channel devices. NPJS25.93-14-10 is not one of the builds deployed to the retUS, and as such the Motorola servers may not issue you an OTA patch, regardless of whether the firmware would work. There have been reports of NPJS25.93-14-10 and NPJS25.93-14-13 working on US devices without issue, but you may not receive OTA updates.

You could manually update to NPJS25.93-14-13 using the OTA here, provided that you fully flashed the NPJS25.93-14-10 stock ROM (including GPT and bootloader, system, modem, boot, recovery, OEM, DSP, FSG). If you did not fully flash, you may be risking another hardbrick. https://xdaforums.com/showpost.php?p=74973505&postcount=7

4)If you want to flash the NPJS25.93-14-13 stock ROM to be safe, or attempt to cross flash to the Sept 2017 NPJ25.93-14.7 firmware without wiping your data, you can use the following flashing commands. Be warned that you may have to factory reset if your device becomes unstable, so backup anyway. I would recommend manually flashing these commands:

a)copy and paste the first command to the ADB terminal

b)press enter, wait for [OKAY] to appear.

c) copy the next command, individually and in order, to the terminal, repeat b) and c) until you get to the end of the list.

fastboot flash partition gpt.bin
fastboot flash bootloader bootloader.img
fastboot flash logo logo.bin
fastboot flash boot boot.img
fastboot flash recovery recovery.img
fastboot flash dsp adspso.bin
fastboot flash oem oem.img
fastboot flash system system.img_sparsechunk.0
fastboot flash system system.img_sparsechunk.1
fastboot flash system system.img_sparsechunk.2
fastboot flash system system.img_sparsechunk.3
fastboot flash system system.img_sparsechunk.4
fastboot flash system system.img_sparsechunk.5
fastboot flash system system.img_sparsechunk.6
fastboot flash system system.img_sparsechunk.7
fastboot flash modem NON-HLOS.bin
fastboot erase modemst1
fastboot erase modemst2
fastboot flash fsg fsg.mbn
fastboot erase cache
fastboot reboot

These commands omit the fastboot erase userdata, preserving your data, and omit the OEM locking commands, which would lock your bootloader and erase your data in the process as well. Bear in mind that cross flashing can be risky, however, you may have to flash the NPJ25.93-14.7 update if you wish to receive OTA updates for the retUS software channel, if you are on that software channel. Link for the NPJ25.93-14.7 stock firmware if you wish to try: https://androidfilehost.com/?fid=817906626617945295

5)Generally, the main source of hard bricks I've noted has been users have been on stock Nougat (particularly the March 2017-latest) builds. They downgrade their device to stock Marshmallow firmware, which goes okay. However, in most - if not all - cases, their bootloaders are not downgraded, so you have a system and bootloader mismatch, with a newer Nougat bootloader but an older system than their bootloader patch level. For example, a B1:06 June 2017 patch level bootloader but a July 2016 Marshmallow system patch level.

The OTA checks that are performed are mainly on the system side i.e is your device on the July 2016 system patch? Are your system, OEM, recovery, boot etc. partitions unmodified and match the expected checksums for this OTA patch? If so, then install. However, in the updater script, there is no such check for the bootloader - the OTA updates appear to assume your bootloader is of the same patch level as your system. Normally, for a locked bootloader or for a user that has only updated their device, that assumption holds.

The issue we have here is that the system was downgraded to Marshmallow, so that assumption no longer holds. As the OTA updates are signed by Motorola, they have authorisation to write to your bootloader. That means this OTA can overwrite your bootloader, and if it's applying older code, can corrupt your newer Nougat bootloader and thus hard brick your device, which necessitates a blankflash to repair.

In other words, if you downgrade your device firmware, do not use or install OTA updates. If you do downgrade, only update with stock firmware that is as new or newer than your bootloader patch level. If your device is on the same patch level , then you should be able to use OTA updates. However as mentioned above, you need to be on the correct build for your device software channel as well to receive OTA updates from Motorola.