The file resource has a validate_cmd parameter that can execute a command on the agent to check a config file is valid before deploying it. You could use this to validate that the config file is usable by that version of syslog-ng - either using a command provided by syslog-ng, or a script that you deploy (via another file resource or package) that checks the package version.