Make sure partitioning is working I created a partition for a table. There is a column "archived" (tinyint). 0 goes to PRIMARY data file, 1 to ARCHIVED data file.

ALTER DATABASE MYDB ADD FILEGROUP [ARCHIVED];

ALTER DATABASE MYDB ADD FILE (NAME = N'ARCHIVED', FILENAME
  = N'D:\...\MYDB_ARCHIVED.mdf' ...) TO
  FILEGROUP [ARCHIVED];

CREATE PARTITION FUNCTION FNArchived (tinyint) AS
RANGE LEFT FOR VALUES (0);

CREATE PARTITION SCHEME SCArchived
    AS PARTITION FNArchived
    TO ([PRIMARY],[ARCHIVED]);
GO


The I dropped the primary key and added this :

ALTER TABLE mytable ADD CONSTRAINT PK_mytable PRIMARY KEY NONCLUSTERED  (uid) ON [PRIMARY]; 
CREATE CLUSTERED INDEX IX_mytable_archived ON mytable (archived) ON SCArchived(archived);


All seems fine there is no error.

But how can I make sure that data is written to the right data file?
In order to validate your partitioning scheme, you can use the $PARTITION system function, detailed on MSDN at http://msdn.microsoft.com/en-us/library/ms188071.aspx


  Returns the partition number into which a set of partitioning column values would be mapped for any specified partition function


So for your example, you could run:

SELECT $PARTITION.FNArchived (1);


or 

SELECT $PARTITION.FNArchived (0);


To determine which partition each value will be stored in.