Custom Node not updating objects automatically while code copied directly in the work space does

I created a simple Dynamo script that counts how many of each type of object is in the project, in my case I count windows and doors. This amount is then written to a shared parameter of each element of that type in order for me to display the element count in a tag. I’ve tested it by creating new elements and watching the tags update within a few split seconds. The script that does this is shown in figure1 below. (Pardon for the large combined figure at the end, but the rules don’t allow new users to make proper posts with multiple images)

I thought it might be handy to create a custom node from this which takes a list of categories as input and outputs two lists, one with the count of elements and one with the elements themselves. This is exactly the same as above from just after the List.Create node up until the two Flatten nodes. Figure2 below shows the node.

When I use this node in a script it updates initially but when I edit my Revit model it doesn’t update. The status bar in Dynamo says “Run started” and “Run completed”, yet nothing changes; not even in the watch nodes in Dynamo. This also happens when I set the execution to manual.

The peculiar thing is that when I break a connection between two nodes and make the connection again, it updates as it should… Usage of the custom node is shown below:

As you can see, it is the same as the first script, but with the middle men cut out by the custom node.

Can you explain to me why this is happening? Maybe it’s because I’m a noob and am just missing something obvious.

Edit to add some more info on my system and packages:

OS: Windows 10.
Revit Version: 2017, SP1 build 17.0.416.0 (No, it’s not updated because our IT dept. sucks.)
Dynamo Version:

See this maybe:

Thanks, @Yna_Db, I’ve edited my post based on info from that post but the post itself is not very helpful. It is older than a year and has one comment and no-one else seems to be acknowledging the bug. I will, however, comment on the GitHub report, maybe it will gain some traction again if it’s a bug.

I had a similar issue recently: