I guess I know why this happens. Look at the following statement you use to add items to your combo:
.AddItem sItemText:=rsAlmacen!DescrpWarehouse, vItemValue:=rsAlmacen!IdWarehouse
In fact, the rsAlmacen!IdWarehouse expression is not a field value, it is a whole ADODB field object! The Value property is its so called default property that is used implicitly if you assign this expression to another variable of an elementary data type like String or Integer. But in this context the vItemValue argument is Variant, and you store the whole field object in the combo.
If I'm right, the code should look like this:
.AddItem sItemText:=rsAlmacen!DescrpWarehouse, vItemValue:=rsAlmacen.Fields("IdWarehouse").Value