Potential Bug In PE_ChangeItemTransition - code included

I have a bulk of parts that have been added programmatically and released via manual release (done during a bulk import via C# .NET script on IOM DLL). I have manually revisioned the part via action and am attempting to release it from its preliminary state to release state with an ExpressECO. When transitioning from life cycle In Planning->In Work the system fires ValidateTransition() - Line 2013 in PE_ChangeItemTransition. One check that it runs isĀ affectedItem.Is_NewItemId_HasNoPreviouslyReleasedGeneration(status); (found at line 2597) This likewise firesĀ HasPreviouslyReleasedGenerations() found at line 2299 and on display below.  
public bool HasPreviouslyReleasedGenerations { get { Item thisCheck = Utils.Innovator.newItem(this.Type, "get"); thisCheck.setAttribute("select", "config_id"); //thisCheck.setProperty("generation", "*"); //thisCheck.setPropertyCondition("generation", "like"); thisCheck.setProperty("config_id", this.ConfigID); thisCheck.setProperty("is_released", "1"); thisCheck = thisCheck.apply(); return thisCheck.getItemCount() > 0; } }
This seems to be looking at all generations that are present for the ConfigID and this does not seem to point to a specific revision. E.g. I have rev 0 released (via my manual process). Rev 1 is preliminary (manually revisioned). Validate Transition throws "The New Number field must contain an item that has never been released when Action is set to 'Release'. ###partNumber### was previously released. This is in fact true, but only for the previous generation. Having commented out the previous generation code (as noted above) the process continues as normal. Is this a bug or have I got something else wrong beneath the surface?