I did a little more digging and here is the problem: The services element in the XML snippet maps to the WorkflowRuntimeServiceElement class. It looks like since there is no connectionString, unloadOnIdle, or loadIntervalSeconds properties in that class, the WDP strips the attributes out. Is there any way to prevent that from happening?
If anyone else runs into this exact problem I found a work-around. I created three seperate service behaviors "DebugBehavior", "TestBehavior", and "ProductionBehavior" and instead of replacing the behaviors section, I replace the services section and choose the correct service behavior there. For example :
<services>
<service name="AssetTracking.Workflows.Transfer" behaviorConfiguration="Transfer.TestBehavior">
<endpoint address="" binding="wsHttpContextBinding" bindingConfiguration="transferBinding" contract="AssetTracking.Services.IAssetTransferService" />
<endpoint address="mex" binding="mexHttpBinding" contract="IMetadataExchange" />
</service>
</services>
-AC