So it sounds like the problem is that the command line and spring have different paths for the changesets. Liquibase uses the path to the changelog file as part of the identifier. If you select * from databasechangelog you will see what spring had been storing and make sure the command prompt approach is using the same looking path to the changelog.
Otherwise, you can add the logicalFilePath attribute to the changeLog files based on what is currently in the database to force it to be the same regardless of how the file is referenced when ran.
Nathan