Looks like I forgot to add the update parameter in the custom property:
#Custom properties are basically a struct, you can have any number of built in (bpy) datatypes defined here:
weight= FloatProperty(default = 1.0) #no update triggered
value = FloatProperty(default = 1.0, update=uda) #update triggered
Additionally the node socket needed to have it's update callback initialised
def init(self, context):
self.inputs.new("SynapseSocket", "Value 1").callback(self.name, "uda")
For anyone else that manages to stumble across this problem, see my previous question as well: Alternative update callback for PointerProperty?